任意文件上传的绕过方式有哪些?
任意文件上传的绕过方式有哪些?
任意文件上传的绕过方式有哪些?
客户端检测
上传不在黑名单中的可解析后缀名
上传.htaccess文件 apache开启重写配置 黑名单中无.htaccess 后缀名大小写绕过
后缀名双写绕过点 空格 绕过
::DATA 配合解析漏洞绕过
MIME绕过 修改content-type头
%00截断 下面三种都是 php5.3.4 以下 , 且 gpc关闭 这个漏洞刚开始微软不管 , 最后还是php接锅
但是这个是windows的特性啊 文件路径中 遇到空格就干掉后面的内容啦
0x00截断 截断文件名 截断目录 截断参数0x0a截断
回车换行截断
POST请求头的值(不是请求头)是可以换行的,但是中间不得有空行。若WAF匹配文件名到换行截止,则可以绕过。
Content-Disposition: for
m-data; name="upload_
file"; fi
le
name="sh
ell.p
h
p"
分号截断
若WAF匹配文件名到分号截止,则可以绕过。
Content-Disposition: form-data; name="upload_file"; filename="shell.jpg;.php"
引号截断
php<5.3 单双引号截断特性。
Content-Disposition: form-data; name="upload_file"; filename="shell.jpg'.php"
Content-Disposition: form-data; name="upload_file"; filename="shell.jpg".php"
修改文件头 GIF89a
突破getimagesize() 直接伪造头部GIF89A cmd命令把一句话写进图片中 使用GIMP添加注释 , 写入执行命令
突破elif_imagetype() 制作图片马 , 但是配合解析漏洞才能利用
二次渲染绕过 python代码把一句话随机插到图片中 , 然后自己二次渲染 留下来的ok 百度下载
条件竞争