上传漏洞防御与IIS6.0文件解析漏洞(防御方法)

本文详细阐述了上传漏洞的防御原则,包括文件类型限制、大小控制、访问权限设置、版本更新策略以及针对特定环境(如IIS、Apache、Nginx和Tomcat)的漏洞修复措施。通过实例讲解,确保网站免受恶意文件上传攻击。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录
上传类型漏洞的总体防御原则
不同环境上传漏洞的防御方法

一、上传漏洞防御原则

  1. 核心思想:确保上传的文件不会被服务器解析成可执行的脚本,进而引发遍离功能设计的意外后果。
  2. 限制文件上传类型:白名单结合黑名单:黑名单常常会出现遗漏或者大小写绕过等问题,所以通常采用白名单限制安全的文件类型如:

图片:.jpg、.png、.gif、.bmp 文档:.doc、.pdf、.txt 压缩包:.rar、.zip

类型限制前端结合后端限制。
扩展名检测,需要防范%截断或者文件名包含空格等特殊字符的绕过方式;重命名用户上传的文件,杜绝上传时的文件名攻击。
对于图片上传,可以考虑对其进行二次渲染/压缩
3、限制上传文件大小

  • 限制上传文件的大小,防止由于内存,磁盘耗尽造成的拒绝服务。 可以配置web server允许的最大post大小
  • 可以在代码层面获取上传文件的大小,根据文件类型的不同进行进一步的过滤

4、确保上传的文件被访问正确访问

  • 将文件上传目录设置为静态资源目录,防止被解析为执行脚本 使用代理页面隐藏文件真是路径
  • 使用上述方式时,确保Content-Type与实际类型一致
  • 如果文件不允许在页面展示,仅允许下载请设置Content-disposition:attachment

5、上传漏洞防御原则

  • 确保上传的文件放在安全的路径下,必要时可将上传的文件存放于web server之外的远程服务器
  • 确保web server版本为最新,防止由于web server漏洞造成的文件意外解析
    部分文件上传攻击会北河本地其他漏洞进行,所以也要保证web服务器减少其他可利用漏洞。

二、IIS6.0文件解析漏洞(防御方法)

1、防御方法:升级IIS版本,IIS5.1与7.5均无此漏洞
2、Apache文件解析漏洞:
不要使用AddHandler,改用SetHandler,写号正则b,就不会有解析问题

<FilesMatch".+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>

禁止.php.这样的文件执行

<FilesMatch".+\.ph(p[3457]?|t|tml)\.">
Require all denied
</FilesMatch>

3、Nginx文件解析漏洞

  • 将php.ini文件中的cgi.fix_pathinfo的值设为0。这样php在解析1.php/1.jpg这样的目录时,只要1.jpg不存在就会显示404
  • 将/etc/php5/fpm/pool.d/www.conf中security.limit_extensions后面的值设为.php

4、防御方法

  • Tomcat任意文件上传漏洞环境较为苛刻,将Tomcat、jdk、php更新 避免开启可、通过PUT方式传经JSP文件的功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值