【学习笔记 24】 buu [SUCTF 2019]EasySQL

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

在这里插入图片描述好吧,这还真的是预期解,我还真的想不到,积累不够。

猜你喜欢

转载自blog.csdn.net/weixin_43553654/article/details/107609223