当目标限制了上传文件的后缀名之后,我们可以尝试以下方法进行绕过
1.大小写问题
例如,.Php .pHp .phP
2.空格问题
例如,"webshell.php " “webshell. php”
3."."问题
在windows中php会自动去除后缀名中最后的 “.” 的符号
4.::$DATA问题
windows下,php,在文件名后面加上::$DATA
系统会把它当作文件流来进行处理,不会检测文件的后缀名,且保留::$DATA之前的文件名以及后缀
5.双写后缀名
有些站点判断方式会把文件后缀名替换为空字符,遇到这种情况我们只需要双写后缀名来绕过,
例如,yijuhua.phphpp
原理就是服务器把后缀名中的php进行替换,替换成空字符之后为被替换的剩余字符组成了php,从而达到绕过的效果
6.%00截断
%00截断经常用在服务端把文件路径和文件名加在一起进行判断后缀,
例如/upload/webshell.php%00webshell.jpg
在这里系统解析的时候会自动忽略%00后面的内容,最终解析为/upload/webshell.php
从而达到绕过的目的