文件上传解析漏洞

一、前端验证绕过

检测恶意代码依靠后端检测,前端检测(JS)相当于没有检测
(1)修改浏览器设置,直接禁用JS
(2)使用Burp抓返回包,删除JS检测代码
(3)前端代码只能在浏览器执行,先将恶意代码更改为可执行后缀,使用Burp抓包,更改上传文件后缀名

二、Content-Type方式绕过

白名单:只允许白名单上的内容。例如只允许上传jpeg、png、gif后缀的文件,后端会检测文件的类型

在文件上传解析漏洞中,后缀名很重要,后端可能会更改前缀名,但后缀名一般不会更改。

先上传一个JPG文件,使用Burp抓包后,修改文件名后缀,因为后端只检测Content-Type,不再检测文件名后缀,可以绕过。而WEB容器是根据后缀来识别格式的,只要上传的文件后缀是.php就可以识别。

三、黑名单绕过

黑名单:禁止黑名单上的内容。如果允许上传不规范后缀名的文件,例如1.a,证明是黑名单机制。

能够被解析的文件扩展名:
jsp jspx jspf
asp asa cer aspx
php php3 php4 php5 phtml
exe exee

四、.htaccess文件绕过

开发者禁止了(”.php”,”.php5”,”.php4”,”.php3”,”.php2”,”php1”,”.html”,”.htm”,”.phtml”,”.pHp”,”.pHp5”,”.pHp4”,”.pHp3”,”.pHp2”,”pHp1”,”.Html”,”.Htm”,”.pHtml”,”.jsp”,”.jspa”,”.jspx”,”.jsw”,”.jsv”,”.jspf”,”.jtml”,”.jSp”,”.jSpx”,”.jSpa”,”.jSw”,”.jSv”,”.jSpf”,”.jHtml”,”.asp”,”.aspx”,”.asa”,”.asax”,”.ascx”,”.ashx”,”.asmx”,”.cer”,”.aSp”,”.aSpx”,”.aSa”,”.aSax”,”.aScx”,”.aShx”,”.aSmx”,”.cEr”,”.sWf”,”.swf”)大量的恶意文件后缀名。

.htaccess文件全称是Hypertext Access(超文本入口),也被称为分布式配置文件,提供了针对目录改变配置的方法。在一个特定的文档目录中放置一个包含一个或多个指令的文件,来作用于此目录及其所有子目录。

.htaccess功能:
文件夹密码保护、用户自定义重定向、自定义404页面、扩展名伪静态化、禁止特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表

但是,这个强大的功能在Apache中是默认不开启的,在伪静态中可以试一试。

AddType application/x-httpd-php .jpg
这个指令代表.jpg文件会当做php来解析

如果无法将文件命名为.htaccess,可以使用CMD的重命名,注意,只需要后缀,不需要前缀。以下的命令为CMD命令,将1.txt命名为.htaccess。
CMD:ren 1.txt .htaccess

(1)先上传jpg木马
(2)建立txt文件,写入指令AddType application/x-httpd-php .jpg,重命名为.htaccess
(3)上传.htaccess文件

五、后缀大小写绕过

开发者限制了.htaccess文件的上传,但没有强制将后缀名转化为小写。

六、文件后缀(空)绕过

Windows会自动去除后缀名后多余的空格,即php和php空格是相同的,但对于后端检测代码来说,php和php空格并不相同。所以,绕过检测时可以增加一个空格,上传到服务器后,Windows又会自动去除空格。

使用Burp抓包,在文件名后增加一个空格。

上传流程:
文件上传 -> 检测 -> 上传到缓存文件(tmp) -> 后端代码将其移动到特定目录并重命名

七、文件后缀(点)绕过

Windows会自动清除后缀名后多余的点,而后端检测代码不会。使用Burp抓包,在文件名后添加一个点。

八、::$DATA(Windows文件流绕过)

::$DATA(Windows文件流绕过)利用了NTFS交换数据流(ADS),ADS是NTFS磁盘格式的一个特性,在NT

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弈-剑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值