is_numeric() & php://filter

is_numeric()

可通过 16 进制或 2 进制编码绕过,导致二次注入。 如 hackyou2014 CTF web100 中可通过构造

-1 union select user() ==> 0x2d3120756e696f6e2073656c65637420757365722829

进行注入。

php://filter, php://input, data URL schema 让 LFI 发挥更大作用

php://filter 可用来读取文件源码:

?page=php://filter/read=convert.base64-encode/resource=index.php

php://input,data URL schema 可用来执行 php 代码,但是要求 allow_url_include 为 On(默认为 Off),有些鸡肋。

References