文件上传漏洞

本文详细介绍了文件上传漏洞的检测方法,包括客户端和服务器端的防护措施。同时,阐述了漏洞利用手段,如一句话木马,以及多种绕过验证的技巧,如修改文件类型、截断攻击等。最后,提出了有效的修复方案,如服务端白名单校验、文件内容检查和隐藏上传路径等。

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

文件上传漏洞

1.漏洞检测

有上传的功能才可能会有相应的漏洞,文件上传漏洞也是一样,检测时需要在各种可以上传文件的功能点进行检测。
而程序员在防止上传漏洞时可以分为两种:
客户端检测:客户端使用Javascript检测,在文件未上传时,就对文件进行验证。
服务器端检测:服务器端脚本一般会检测文件的MIME类型,检测文件扩展名是否合法,甚至会检测文件中是否嵌入恶意代码。

2.漏洞利用

# 一句话木马
<?php @eval($_POST[]);?>

文件上传漏洞可以上传一句话木马得到目标网站的shell,但有时往往不会那么顺利,在攻击过程中可能会利用解析漏洞,包含漏洞等组合。

3.绕过

# 绕过文件类型检测(MIME验证)
可以使用burp修改文件类型,image/gif,text/css,image/jpeg

# 截断攻击
可以尝试使用%00将后面的字符截断,使用有限制php版本小于5.3

#竞争条件攻击
有时网站接收文件的逻辑是允许上传任意文件,之后再进行验证,不符合的文件再对其进行删除,这样的话,可以利用检测文件的时间差进行攻击。

# 修改后缀
通过修改上传文件的后缀也会起到绕过的作用,包括对后缀进行大小写转换,双写绕过,添加空格,点,::$DATA等方式绕过

# 图片木马
可以将木马藏于图片中进行绕过
copy 1.jpg/b+1.php/a webshell.jpg

# .htaccess
此文件是Apache服务器中的一个配置文件,并且需要开启AllowOverride,可以利用上传.htaccess进行绕过,此文件可以实现网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
SetHandler application/x-httpd-php  


4.修复

# 文件扩展名服务端白名单校验

# 文件内容服务端校验

# 对上传的文件重命名

# 隐藏上传路径

# 限制上传目录的执行权限
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值