Sqlmap与Burp Suite配合使用教程
Sqlmap与Burp Suite配合使用教程
1. 配置Burp Suite捕获HTTP请求
- 启动Burp Suite:打开Burp Suite后,进入
Proxy
→Intercept
选项卡,确保拦截功能为Intercept is on
状态。 - 设置浏览器代理:将浏览器代理配置为
127.0.0.1:8080
(Burp默认监听端口)。 - 捕获目标请求:访问目标网站并触发需要测试的SQL注入点(如登录表单提交),此时请求会被Burp拦截。
- 保存请求文件:右键拦截到的请求,选择
Save item
,将请求内容保存为.txt
文件(例如request.txt
),供Sqlmap后续使用。
2. 使用Sqlmap加载Burp捕获的请求
-
基本命令格式:
sqlmap -r /path/to/request.txt
-r
参数直接读取Burp保存的请求文件,自动解析参数。- Sqlmap会识别请求中的参数(如GET/POST参数、Cookie)并进行注入测试。
-
指定注入点:
若请求包含多个参数,可通过-p
指定特定参数(例如-p "username"
)。
3. 通过Burp Suite代理转发流量
- 配置Sqlmap使用Burp代理:
sqlmap -u "http://example.com/login.php" --proxy="http://127.0.0.1:8080"
--proxy
参数将Sqlmap的流量通过Burp Suite,便于实时查看和修改请求。
- 分析代理日志:
- 在Burp的
HTTP history
中查看Sqlmap发送的Payload,分析注入过程。 - 可手动修改请求并重放,结合Sqlmap的自动化检测。
- 在Burp的
4. 利用Burp Suite日志文件(Auto-logging)
- 启用Burp日志记录:
- 进入
Project options
→Misc
→Auto-save
,勾选Requests
和Responses
,设置日志保存路径。
- 进入
- 解析日志文件:
sqlmap -l /path/to/burp.log --batch
-l
参数加载Burp的日志文件,自动测试所有记录中的请求。
5. 高级技巧:结合Intruder与Sqlmap
- 使用Burp Intruder模糊测试:
- 对目标参数进行模糊测试(Fuzzing),筛选出异常响应(如500错误或延迟)。
- 导出可疑请求:
- 将异常请求保存为文件,通过Sqlmap的
--risk=3
(高风险检测)和--level=5
(全面测试)深度验证。
- 将异常请求保存为文件,通过Sqlmap的
6. 常见问题与解决方案
- 请求文件格式错误:
- 确保Burp保存的请求包含完整的HTTP头(如Host、Cookie)。
- 代理连接失败:
- 检查Burp Suite是否开启,端口是否被防火墙拦截。
- HTTPS请求处理:
- 在Sqlmap中添加
--proxy-http
参数忽略证书错误。
- 在Sqlmap中添加
- 性能优化:
- 使用
--threads=10
增加线程,或--smart
启用智能检测模式减少请求量。
- 使用
通过以上步骤,可高效结合Sqlmap的自动化注入能力与Burp Suite的手动分析功能,精准检测和利用SQL注入漏洞。
所有内容均由人工智能模型生成,其生成内容的准确性和完整性无法保证,不代表我们的态度或观点。