黑名单验证的突破
黑名单验证的突破
操作系统特性
windows下对大小写不敏感,php和Php对windows来说都是一样的。
windows下,上传的文件名中带有test.php::$DATA会在服务器生产一个test.php的文件并可以被解析。及 test.php = test.php::$DATA
windows下文件名结尾加入.,空格,<,>,>>>等字符,会被windows自动取除。例如:黑名单中有.php 但如果是.php.可能就不在黑名单中存在。
语言特性
php .php|.php5|.php4|.php3|.php2|php1|.html|.htm|.phtml|.pHp|.pHp5|.pHp4|.pHp3|.pHp2|pHp1|.Html|.Htm|.pHtml|
jsp .jsp|.jspa|.jspx|.jsw|.jsv|.jspf|.jtml|.jSp|.jSpx|.jSpa|.jSw|.jSv|.jSpf|.jHtml|
asp .asp|.aspx|.asa|.asax|.ascx|.ashx|.asmx|.cer|.aSp|.aSpx|.aSa|.aSax|.aScx|.aShx|.aSmx|.cEr|.sWf|.swf|
中间件特性
略
代码不严谨
双写后缀绕过
AsaspP 服务器会删除asp ,从而保留Asp
单次过滤 ,.空格
1.php. .当检查到空格和点的时候,删除会保留一个点1.php.