0x00 知识点
1.经典堆叠注入(具体什么是堆叠注入,去看我上一篇笔记)
2.使用set sql_mode=PIPES_AS_CONCAT,将||所代表的或的意思改为连接的意思
0x01 解题步奏
1.打开题一看,就是让你查询东西,结合题目判断为sql注入考察,尝试利用1来测试回显成功。
之后利用’和"来测试
回显的都是nonono,一看就被过了
2.用fuzzing跑了一下,发现*,|,||没有被过,其他的都不能用,联合注入什么的别想了。绝望了
3.尝试堆叠注入尝试一下
1;show databases;
1;show tables;
看到flag了,但是from,select都被ban了咋搞
3.非预期解:后来看了大佬的wp知道了这道题有非预期解,由于没有过滤* ,所以可以构造
*,1
来直接得到flag,具体原因这里引用大佬的博客
4.预期解:利用预处理的方法修改sql_mode 实现字符串管道‘||’连接,具体原因请点链接,之后再完成查询
之后就可以构造payload了
1;set sql_mode=PIPES_AS_CONCAT;select 1
好吧,这还真的是预期解,我还真的想不到,积累不够。