除select外查询数据的另一种姿势

1.24

1.[GYCTF2020]Blacklist

  • buuctf上的题目

1.解题过程

输入1会返回一个数组,加上单引号就报错了,说明存在注入

以前做过类似的估计是堆叠注入,尝试一下

注入成功

正想查看flag但是发现select被过滤了,正常之前做的题也过滤了很多

HANDLER ... OPEN语句打开一个表,使其可以使用后续HANDLER ... READ语句访问,该表对象未被其他会话共享,并且在会话调用HANDLER ... CLOSE或会话终止之前不会关闭

构造最终payload

0';handler FlagHere open;handler FlagHere read first;

获得flag

2.总结

因为做过类似的,所以前面做的比较快

后面这题有两种做法,第一种方法找到输入1时返回的数组,将flag的数组替换那个数组,但是这种做法容错率比较低,一旦payload出错可能会导致原本的flag消失而且payload较长

而第二种方法只是使用了其他能查看数据的命令,相当与linux禁用了cat但是可以使用more或less等命令绕过,且第二种命令出现错误也没事重新输入即可,字符也比较短

posted @ 2023-02-22 10:43  懒床的星间  阅读(52)  评论(0)    收藏  举报