文件上传漏洞之黑白名单绕过(一)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档






一、文件上传最常见的验证方式:

后缀名,类型,文件头等

后缀名:黑名单,白名单

文件类型:MIME信息

文件头:内容头信息

.htaccess解析




二、使用步骤




1.后缀名

黑名单:明确不允许上传的格式后缀,在限制中可能不全,比如:php5,phtml等然后我们可以上传没有限制的文件格式进行绕过

白名单:明确可以上传的格式后缀,比黑名单更加安全,比如:jpg png zip rar gif


2.文件类型

MIME:浏览器通常使用MIME类型(而不是文件扩展名)来确定如何处理URL,因此Web服务器在响应头中添加正确的MIME类型非常重要。如果配置不正确,浏览器可能会曲解文件内容,网站将无法正常工作,并且下载的文件也会被错误处理

通用语法结构一般为:content-type

上图可以看出不同的文件后缀名都有想对应的MIME类型


如上图,在进行文件上传时,我们可以把MIME类型改为网站允许上传的类型可以进行绕过

 3.内容头信息

在用bp软件抓包时可以看到我们上传文件的内容,网站也会根据头部信息来检测我们的文件类型

4..htaccess解析

htaccess解析:概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

由于文件开启了白名单验证,我们没有办法上传木马格式的文件,但又没有限制htaccess文件,我们可以上传htaccess文件之后再上传伪装成白名单格式的木马文件,这样htaccess文件下的所有类型都会被解析成php格式,来达成绕过

猜你喜欢

转载自blog.csdn.net/qq_45501227/article/details/121565771