文件上传漏洞常用绕过方式

本文详细介绍了文件上传漏洞的原理,包括如何利用前端JS、MIME类型、白名单检测等方式进行防御,同时也探讨了多种防御措施的绕过方法,如%00截断、文件拓展名和内容检测的绕过技巧。此外,还提到了条件竞争漏洞和靶场实战中的应用。
摘要由CSDN通过智能技术生成

目录

文件上传漏洞原理

常用防御方式和常用防御方式的绕过

一、前端JS检测

二、MIME检测

三、白名单检测

%00截断

0x00截断

 四、黑名单绕过

文件拓展名绕过

.htaccess文件绕过 

 .user.ini.绕过

apache解析漏洞 

 IIS解析漏洞

Nginx解析漏洞 

widows系统文件命名规则的特殊利用 

 五、文件内容检测

①文件头检测

②shell检测

六、条件竞争

靶场实战


 

文件上传漏洞原理

由于网站在对文件的上传功能中没有严格校验上传文件后缀和文件类型,导致上传的文件可以被解析成可执行的脚本文件(php、jsp、xml、cer等文件),以来达到攻击者的攻击目的

常用防御方式和常用防御方式的绕过

一、前端JS检测

客户端前端在JavaScript代码中加入了对扩展名的黑白名单检查,我们可以直接禁用javasrcipt

二、MIME检测

MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

常见图片MIME类型: image/gif, image/png, image/jpeg, image/bmp, image/webp, image/x-icon, image/vnd.microsoft.icon

服务端代码是通过Content-Type的值来判断文件的类型,这样我们可以直接对文件的Content-Type进行修改来绕过此防御方式。

以PIKACHU平台漏洞为例:

 

 

 利用BP直接修改Content-Type值来绕过

三、白名单检测

要求只能是特定扩展名的文件才能上传

%00截断

在url中%00表示ascll码的0 ,而ascii码的0,表示字符串结束,所以当url中出现%00时就会认为读取已结束

注:需满足 php 版本<5.3.4 才有可能存在此漏洞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值