文件上传漏洞详解

本文深入探讨了文件上传漏洞的原理、危害及产生条件,包括客户端和服务端的绕过方法,如修改文件扩展名、利用00截断、篡改Content-Type等。同时,列举了多种图片马的制作技巧。最后,提出了防止文件上传漏洞的防御措施,强调了文件验证和安全配置的重要性。

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

原理

攻击者上传了一个可执行文件到服务器并执行。这个文件可以是木马,病毒,恶意脚本或者是webshell等。

危害

可能会导致用户信息泄露,被钓鱼,甚至使攻击者可以直接上传WebShell到服务器,进而得到自己想要的信息和权限,最终达到对数据库执行、服务器文件管理、服务器命令执行等恶意操作,甚至完全控制服务器系统。

漏洞产生条件

  1、能够成功上传恶意文件。
  2、能够访问上传的恶意文件,知道上传恶意文件的准确路径。
  3、上传的恶意文件能够被web容器解析执行,上传路径要在web容器覆盖范围内。

漏洞产生的原因:

应用程序对上传的文件控制的不足或处理缺陷,而导致用户可以越过本身权限向服务器上传可执行的动弹脚本文件

漏洞绕过

客户端绕过,服务端绕过,中间件、系统特性去绕过

客户端脚本绕过

客户端代码可能会在js中检测文件的扩展名来判断上传的类型

绕过方法:

 1、查看前端页面源代码修改或删除JS事件
 2、构造URL上传表单 
 3、使用bp抓包更改后缀名

服务端绕过

例如:
1、黑名单检测不允许上传的类型,
2、白名单检测允许上传的类型
3、 对文件的Content-Type类型,
4、通过函数检测上传图片的大小或内容判断是否正确

1、黑名单:  
      变换字母大小写(不区分大小写)
	  Windows特性:末尾的点【.】或【 】绕过         
2、白名单
	00截断:两个条件: (1)php版本小于5.3.4       (2)php的magic_quotes_gpc为OFF状态
3、Content-Type
     burp抓包修改Content-Type的类型
4、 文件内容绕过
	     将图片头部格式放在上传文件头部可以绕过上传成功。
	     JPG:FF D8 FF E0 00 10 4A 46 49 46
	     GIF :47 49 46 38 39 61 (GIF89a)
	     PNG:89 50 4E 47
     图片马绕过
         检测原理:利用getmagesize()函数或exif_imagetype()函数根据文件头的字节返回文件的类型。将恶意程序嵌入图片中,构成图片马,制作方法如下: 
         方法一:文本方式打开图片直接粘贴一句话木马
         方法二:cmd命令行执行
                 copy 1.jpg /b+2.php 3.jpg        /b是二进制形式打开        /a是ascii方式打
         方法三:16进制打开图片在末尾添加一句话木马。
         方法四:PS先打开图片,点击文件->文件简介,添加木马,上传连接
5、批量上传文件只对第一个文件检测,可上传多个的同时将恶意文件上传

文件上传的防御
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值