文件上传总结:
1.前端js绕过
要么通过burpsute 修改后缀
要么直接禁用浏览器的JS功能
2.文件类型绕过(content-type)
用burpsute抓包然后修改 image/jpeg image/png
3.文件后缀名绕过黑名单 比如hack.php5 (前提是httpd.conf文件可以解析php5)
http.conf内容:

4.上传.htaccess 文件
.htaccess 文件的内容为:
SetHandler application/x-httpd-php
这样会把所有上传的文件都解析为PHP文件
5.大小写绕过 .pHP
6.空格绕过 .php 后面有一个空格
7.点绕过(不过仅适用于windows).php.
8.利用::DATA进行绕过(仅适用于windows).php::DATA 进行绕过(仅适用于windows).php::DATA进行绕过(仅适用于windows).php::DATA 来绕过
9.利用点 空格 点 来进行绕过(也只适用于windows)
10.双写绕过 .phphpp
11.截断绕过 hack.php%00
get型:(需要php 版本小于5.3.4 php配置参数 magic-quotes_gpc为off状态)
post型:需要抓包更改hex的值
12.图片马绕过(后台通过检查你文件二进制格式来判断你是不是图片,所以这个时候需要图片合成)
windows下图片合成 copy 1.jpg + hack.php hacked.jpg 来进行绕过
图片马得配合文件包含漏洞来实现
13.二次渲染
服务器端对你的图片马进行了改写,导致你原来加进去的一句话失效。这个时候你得把修改后的图片和原图片进行对比,来判断哪一部分没有被修改,把一句话木马写在这个部分里面
14.条件竞争
允许你上传php文件,但是一会儿会给你删掉,所以得抓住这一会儿的时间,要么重新生成一个php文件,要么就使用burpsute多次重复上传相同的php一句话,然后访问。
15.过滤了<? ,那就使用
16.通过上传 .user.ini 配置文件 来绕过黑名单:
在 .user.ini 配置文件上面写上 auto_prepend_file=2.jpg
然后再上传一个图片马 图片马名字得保持一致 为2.jpg
然后通过访问同一目录下的php文件,然后就可以用一句话了。
.user.ini 文件的作用 就是可以让同一目录下 所有php文件都包含 2.jpg这个文件,因此就相当于结合了图片马+文件包含 这个时候图片马就可以发挥作用了!

本文总结了16种绕过文件上传限制的方法,包括前端JS绕过、内容类型篡改、后缀名欺骗、大小写及空格利用等,以及如何通过图片合成与文件包含漏洞实施攻击。

4万+

被折叠的 条评论
为什么被折叠?



