Sqlmap与Burp Suite配合使用教程

Sqlmap与Burp Suite配合使用教程

1. 配置Burp Suite捕获HTTP请求

  1. 启动Burp Suite:打开Burp Suite后,进入ProxyIntercept选项卡,确保拦截功能为Intercept is on状态。
  2. 设置浏览器代理:将浏览器代理配置为127.0.0.1:8080(Burp默认监听端口)。
  3. 捕获目标请求:访问目标网站并触发需要测试的SQL注入点(如登录表单提交),此时请求会被Burp拦截。
  4. 保存请求文件:右键拦截到的请求,选择Save item,将请求内容保存为.txt文件(例如request.txt),供Sqlmap后续使用。

2. 使用Sqlmap加载Burp捕获的请求

  1. 基本命令格式

    sqlmap -r /path/to/request.txt  
    • -r参数直接读取Burp保存的请求文件,自动解析参数。
    • Sqlmap会识别请求中的参数(如GET/POST参数、Cookie)并进行注入测试。
  2. 指定注入点
    若请求包含多个参数,可通过-p指定特定参数(例如-p "username")。


3. 通过Burp Suite代理转发流量

  1. 配置Sqlmap使用Burp代理
    sqlmap -u "http://example.com/login.php" --proxy="http://127.0.0.1:8080"  
    • --proxy参数将Sqlmap的流量通过Burp Suite,便于实时查看和修改请求。
  2. 分析代理日志
    • 在Burp的HTTP history中查看Sqlmap发送的Payload,分析注入过程。
    • 可手动修改请求并重放,结合Sqlmap的自动化检测。

4. 利用Burp Suite日志文件(Auto-logging)

  1. 启用Burp日志记录
    • 进入Project optionsMiscAuto-save,勾选RequestsResponses,设置日志保存路径。
  2. 解析日志文件
    sqlmap -l /path/to/burp.log --batch  
    • -l参数加载Burp的日志文件,自动测试所有记录中的请求。

5. 高级技巧:结合Intruder与Sqlmap

  1. 使用Burp Intruder模糊测试
    • 对目标参数进行模糊测试(Fuzzing),筛选出异常响应(如500错误或延迟)。
  2. 导出可疑请求
    • 将异常请求保存为文件,通过Sqlmap的--risk=3(高风险检测)和--level=5(全面测试)深度验证。

6. 常见问题与解决方案

  1. 请求文件格式错误
    • 确保Burp保存的请求包含完整的HTTP头(如Host、Cookie)。
  2. 代理连接失败
    • 检查Burp Suite是否开启,端口是否被防火墙拦截。
  3. HTTPS请求处理
    • 在Sqlmap中添加--proxy-http参数忽略证书错误。
  4. 性能优化
    • 使用--threads=10增加线程,或--smart启用智能检测模式减少请求量。

通过以上步骤,可高效结合Sqlmap的自动化注入能力与Burp Suite的手动分析功能,精准检测和利用SQL注入漏洞。

所有内容均由人工智能模型生成,其生成内容的准确性和完整性无法保证,不代表我们的态度或观点。