任意上传文件总结

 文件上传只要分为客户端和服务端

客户端是js绕过  ----burpsuite抓包改一下扩展名 改成PHP就绕过去了

服务端分为检查后缀,检查内容,时间竞争。

时间竞争有 重命名时间竞争,文件上传时间竞争。

检查后缀———白名单:

①   %00截断  0×00截断  0×0a截断

要求:需满足 php 版本<5.3.4 才有可能存在此漏洞(5.3.4以下)

关闭魔术符号 magic quotes gpc=off   

② MIME头绕过

MIME

MIME:客户端软件,区分不同种类的数据,例如web浏览器就是通过MIME类型来判断文件是GIF图片,还是可打印的PostScript文件。web服务器使用MIME来说明发送数据的种类, web客户端使用MIME来说明希望接收到的数据种类。

MIME检测原理

服务端MIME类型检测是通过检查http包的Content-Type字段中的值来判断上传文件是否合法的。

面试提问文件上传漏洞你是如何绕过?

答:在渗透过程中,首先看一下网站,采用js对前端进行检查,上传一张图片篇然后用bp抓包后改成PHP扩展名就能绕过去了  。如果服务端检查的话,先正常传一张图片过去看一下诊断名字是不是被重命名了,如果被重命名了包括后缀被强行修改了,这个情况下黑名单就不能执行了,可能是服务器PHP版本是低版本,然后可以采用白名单和文件头mime方式绕过。如果还不行,如果以上办法都不行,可以尝试检查内容方式绕过,在图片里加入一句话木马,上传到对方服务器里,然后找文件包含漏洞,看代码,找到文件包含漏洞之后就可以拿到对方的webshell了。如果包含漏洞也找不到的情况下,可以使用时间竞争,重命名竞争,快速的传文件,快速的访问文件看可不可以跳过程序代码的检查。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。