BUU一道关于注入的题

BUU一道关于注入的题

特点:不同于一般的注入题,这题则需要你猜测后端的查询语句
入题随便输个数字页面如图在这里插入图片描述
输入字符时无回显,先尝试了下简单的几个语句在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
猜测某些关键字被过滤,尝试输union,if,and等等发现都显示 Nonono
最后试了下堆叠注入在这里插入图片描述
终于有反应了,继续尝试准备查看字段名仍然显示Nonono
在这里挣扎了许久,最后没办法了只有乖乖去看大佬的wp,确实超出了自己的知识范围

正解

这道题目需要我们去对后端语句进行猜测,有点矛盾的地方在于其描述的功能和实际的功能似乎并不相符,通过输入非零数字得到的回显1和输入其余字符得不到回显来判断出内部的查询语句可能存在有||,也就是select 输入的数据||内置的一个列名 from 表名,进一步进行猜测即为select post进去的数据||flag from Flag(含有数据的表名,通过堆叠注入可知),需要注意的是,此时的||起到的作用是or的作用。最终可推测出内置的sql语句为

1
sql=“select”.post[‘query’]."||flag from Flag";

所以解法一:
如果$post[‘query’]的数据为*,1,sql语句就变成了

1
select *,1||flag from Flag

也就是

1
select *,1 from Flag

解法二:
输入

1
1;set_mode=pips_as_concat;select 1

在这里插入图片描述
参考文章:
https://blog.csdn.net/weixin_42373127/article/details/88866710
https://blog.csdn.net/weixin_44866139/article/details/105857487?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-3&spm=1001.2101.3001.4242


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!