1、前端校验的绕过:
将shell保存为jpg|png等可以上传的后缀名,直接用burpsuite抓取请求,再将请求中的shell的后缀改为可执行的脚本后缀,再发送。
2、后端校验的绕过:
GET请求时,直接在抓到的数据包中,用%00(GET请求里%00会被URL解码为空字符,POST的不会被URL解码)
eg:
可是会有这样的情况:
这是任意文件上传漏洞了。
POST请求方式的%00截断(上传路径可控):
参考链接:
http://www.admintony.com/%E5%85%B3%E4%BA%8E%E4%B8%8A%E4%BC%A0%E4%B8%AD%E7%9A%8400%E6%88%AA%E6%96%AD%E5%88%86%E6%9E%90.html
%00截断存在PHP<5.3.4中。