引言
文件上传漏洞是指由于程序员未对上传的文件进行严格的验证和过滤,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。
这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。
这种攻击方式是最为直接和有效的,“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。
如果服务器的处理逻辑做的不够安全,则会导致严重的后果。
Pass-01 前端js绕过
只是单纯的前端较验
bp抓包后修改文件后缀,或浏览器禁用javascript,还可以查看源码,使表单提交事件onsubmit的值恒为true。
Pass-02 Content-type绕过
抓包,修改Content-Type
Content-Type标头告诉客户端实际返回的内容类型,浏览器根据Content-Type来对文件做不同的处理。
Pass-03 特殊后缀绕过(php3、php5)
文件类型之黑名单
黑名单是一个明确的列表,其中包含了不被允许上传的文件类型或文件扩展名。当用户在Web应用中尝试上传文件时,系统会检查文件的扩展名或类型,如果它出现在黑名单中,则文件上传操作会被阻止或报错。 常见的黑名单列表 脚本文件:如 .php、.asp、.aspx、.jsp、.cgi 等,这些文件类型可能被用于执行服务器端代码,从而可能引发安全漏洞。 可执行文件:如 .exe、.bat、.com、.dll 等,这些文件在服务器上执行可能会带来风险。 压缩文件:如 .zip、.rar、.tar 等,虽然这些文件类型本身不一定是恶意的,但它们可能被用于打包恶意文件或隐藏恶意内容。 配置文件:如 .htaccess(在Apache服务器上),这个文件可以修改服务器的配置&#