
in_array($file_ext, $deny_ext)作用黑名单后缀过滤绕过方法(1)Apache 默认解析的原则很宽泛 使用以下后缀 php3 phar PHP php(空格) php. php::$DATA 绕过(2)上传.htaccess文件 修改配置 前提是该文件被设置为可被覆写strtolower()作用黑名单大小写过滤绕过方法(1)使用以下后缀 php3 phar php(空格) php. php::$DATA 绕过(2)上传.htaccess文件 修改配置trim()作用去除文件名末尾空格绕过方法(1)使用以下后缀 php3 phar PHP php. php::$DATA 绕过(2)上传.htaccess文件 修改配置deldot()作用去除末尾的点绕过方法(1)使用以下后缀 php3 phar PHP php(空格) php::$DATA 绕过(2)上传.htaccess文件 修改配置若目标依次执行 deldot()去末尾点、trim()去首尾空格等过滤 可以利用“点 空格 点”组合绕过如shell.php. .。经过多次过滤后仍可还原为 shell.phpgetimagesize()作用检查文件是否为合法图片绕过方法(1)在合法图片文件的末尾追加 PHP 代码。getimagesize()只检查文件头不解析文件尾部exif_imagetype()作用读取文件头签名校验绕过方法(1)在合法图片文件的末尾追加 PHP 代码。exif_imagetype() 只检查文件头不解析文件尾部imagecreatefromjpeg()作用二次渲染 使用 GD 库将上传的图片重新解码并重新编码保存。此过程会丢弃图片中所有非图像数据绕过方法对比原图和二次渲染后的图片找到未被修改的数据块将 PHP 代码写入该区域move_uploaded_file()作用文件移动绕过方法使用后缀 php/ 绕过