文件上传

文件上传漏洞是指由于程序员卫队上传的文件进行严格的验证和过滤,二导致用户可以越过本身权限想服务器上上传可执行的动态脚本文件,这里上传的文件可以是木马、病毒、恶意脚本、或webshell。在有文件上传的地方都有可能存在此漏洞
什么是web容器
web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,二这个程序就是处理从客户端发出来的请求,如tomcat、apacha、nginx等(为变成语言提供的环境)
中间件
参考:/吃瓜 点我看文章
提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通。中间件处在操作系统和更高一级应用程序之间。
服务器
www服务器或http服务器,提供信息浏览服务,它只需支持http协议、HTML文档格式以及URL,向浏览器提供服务的程序。
什么是IIS
当服务器接收到一个HHTP请求的时候,IIS首先需要决定如何去处理这个请求,根据的是文件的后缀名。服务器获取所请求的页面(也可以是文件)的后缀名后,会在服务器端寻找可以处理这类后缀名的应用程序,如果IIS找不到可以处理此类文件的应用程序,那么IIS将直接把这个文件返回给客户端。

绕过上传漏洞

前端检测

前端使用JavaScript检测,在文件未上传时,对文件进行检测,直接修改数据包内容就可以绕过此类检测(前端的检测不多)

后端检测

后端检测一般是通过文件的类型,扩展名是否合法,检测文件内容是否嵌入恶意代码,对于后端的检测,分为黑名单绕过和白名单绕过。

黑名单

程序员会将一些可能会威胁网站的文件加入黑名单,凡是在黑名单中的全部都会被拦截,对于此类,一般会以,后缀大小写、双写,添加点或空格,windows文件流,配置文件等方式进行绕过(现在用黑名单的也不多了)

白名单

黑名单编辑起来太麻烦了,需要编辑的东西太多,白名单相对于来说要简洁很多,比如在图片上传的地方,将.jpg / .png /.gif 这三种类型放入白名单,那么除了这三种类型的文件可以上传,其他的都会被拦截,与黑名单相比较会安全一些。
但是不得不说:
在这里插入图片描述
%00截断
文件名后缀有一个%00字节,可以截断某些函数对文件名的判断,在许多函数中,处理字符串的函数中0X00代表终止符。例如上传函数处理xxx.php%00.jpg时,后缀是合法的.jpg,可以上传,但是在服务器解析是读取到%00就会停止继续往后面都,于是最后被保存下来的是xxx.php文件

IIS解析漏洞

IIS6.0在解析文件是存在以下几个解析漏洞
1、配置漏洞,这个是配置文件的文件的问题,就像文件上传的黑名单一样,文件上传需要PHP解析,IIS就需要asp.dll解析,在IIS6.0中,像.asd/.cer/.cdx/.asa都可以被解析,甚至还可以自己添加这些可以被解析的文件。
2、在IIS容器处理字符串的时候会出现一些逻辑错误,这个逻辑错误类似于00截断,但是它和00截断又有很多不同,00截断是在上传的时候进行截断,然后重新命名,而这个是在解析的时候进行截断,不会被重命名,当文件名为.asp;1.jpg时,会被当成asp进行解析
3、还有一个就是,当文件夹的名为*.asp是,此文件夹中的所有文件都会被当成asp脚本进行解析

apacha解析漏洞

apacha是从右往左开始判断解析,如果最有侧的不可识别解析,就会往左进行重新判断,如xxx.php.owf.rar,.owf和 .rar 在apacha中解析不了,所以最后xx.php.owf.rar最后会被当成PHP进行解析。
有些程序开发人员在上传文件时,会判断文件名是不是PHP、asp、aspx、asa等脚本扩展名,如果是则不允许上传,这是攻击者,就可以用a.php.rar的方式进行绕过,配合解析漏洞,拿到webshell。

CGI解析漏洞

CGI解析漏洞,是在文件解析的时候出现先后顺序的逻辑问题,就像%00截断需要写两个后缀名,然而在PHP后面需要加上%00才可以进行截断,但是这个不需要修改,文件上传成功之后,在文件名后加/.php即可。如:a.jpg/.php,变回被当成PHP进行解析

上传漏洞修复

1、对文件格式限制,只允许上传某些格式的文件(白名单机制)
2、对文件可是进行校验,前段和服务器都要进行校验(对一些敏感字符进行过滤)
3、将上传目录放到项目工程目录之外,当做静态资源路径,并且对文件的权限进行设置,禁止文件下的执行权限

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值