千家信息网

详解文件上传漏洞

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,介绍在现代互联网网站中,上传文件基本上是一种常见的功能,允许用户上传一些图片,视频以及其他类型的文件。如果网站出现文件上传漏洞,那么恶意用户就可以将可执行脚本程序上传到web服务器中,获得网站权限,进
千家信息网最后更新 2026年10月31日详解文件上传漏洞

介绍

在现代互联网网站中,上传文件基本上是一种常见的功能,允许用户上传一些图片,视频以及其他类型的文件。如果网站出现文件上传漏洞,那么恶意用户就可以将可执行脚本程序上传到web服务器中,获得网站权限,进一步 gongji web服务器。
当上传文件时,如果服务端未对客户端上传的文件进行严格的验证和过滤,就容易造成文件上传漏洞,即上传任意文件(包括脚本文件php,jsp,asp,aspx等格式)
恶意用户可以利用上传的webshell控制整个网站甚至控制服务器

绕过

js检测绕过
js检测绕过漏洞常见于用户上传文件时,如果后缀不允许,则弹窗告知,此时上传文件的数据包并没有上传到服务端,只是在客户端浏览器使用JavaScript进行检测

此时有两种方法进行绕过
1.使用浏览器插件删除检测文件后缀的JavaScript代码,然后上传文件
2.先把需要上传的文件后缀改为允许上传的后缀绕过JavaScript代码的检测,再抓包修改为原来的后缀即可成功


可以看到成功绕过js检测上传文件成功
文件后缀绕过
文件后缀绕过是服务端限制了某些后缀的的文件不允许上传,but 有些Apache是允许解析其它文件后缀的,例如在Apache配置文件httpd.conf中有以下代码则能够解析php和phtml文件
AddType application/x-httpd-php .php .phtml


在Apache解析顺序中是从右到左开始解析文件后缀的,如果最右侧的扩展不识别就继续往左判断,直到遇到可以解析的文件后缀为止,所以如果上传的文件名类似为luguo.php.xxx,因为后缀xxx不可以解析则向左解析为luguo.php
文件类型绕过
此类绕过需要简单的两次判断
用burp suite抓包
当上传php文件时

可以看到数据包中的Conetent-Type的值是application/x-php
上传jpg文件时

可以看到数据包中的Content-Type的值是image/jpeg
可以推断出服务端是通过Content-Type的值来判断文件的类型,那么就可以进行绕过了,因为Content-Type的值是通过客户端传递的,是可以进行修改的,我们只需要在上传php文件时,在Burp suite中将Content-Type修改为image/jpeg,就可以绕过检测

在php中还有一种文件上传漏洞,php调用函数getimagesize()获取图片长宽高等信息,如果上传的不是图片那么getimagesize()就获取不到信息则不允许上传,but 我们可以将图片和webshell合并成一个文件,敲下方命令
cat index.png luguo.php > snowwolf.php


访问上传的地址,上传成功
文件截断绕过
在php中00代表结束符,所以会把00后面的所有字符删除
截断条件php版本小于5.3.4,php的magic_quotes_gpc为off

上传文件时服务端将Get参数name的内容为文件名的前一部分,后面则按时间生成的图片为第二部分
修改参数截断为luguo.php.ipg,文件保存到服务器时,会把.jpg和按时间生成的图片名全部截断,文件名就剩下luguo.php,因此成功上传webshell
竞争条件绕过
一些网站的逻辑是先允许上传任意文件,然后检查是否包含webshell脚本,如果包含则删除。这里存在的漏洞是文件上传成功后和删除操作有个时间差,恶意用户利用时间差就可以完成竞争条件的gongji。
gongji者先上传一个webshell脚本snowwolf.php,snowwolf.php是生成一个新的webshell脚本,内容如下
fputs(fopen('../shell.php','w'),'');
?>


当snowwolf.php上传成功时,gongji者立即访问snowwolf.php,则会在服务端立即生成shell.php文件,完成gongji


可以看到已经生成shell.php文件
ps:单身多年的手速可算派上用场了

修复建议

通过白名单的方式来判断文件后缀的合法
对用户上传的文件重命名

文件上传漏洞网页演示源码链接:https://pan.baidu.com/s/1V5b7_FvQjd4yKdaoDbBXCw
提取码:5i89

文件 后缀 服务 成功 检测 漏洞 图片 用户 网站 脚本 生成 时间 服务器 代码 客户 客户端 恶意 数据 文件名 条件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 苏州找大状互联网科技有限公司 互联网核心科技是什么 金融科技与互联网金融 致聘互联网科技 深圳艾佳互联网科技 无锡溥仪互联网科技有限公司 成都仁贤领冠互联网科技有限公司 互联网巨头投资的硬核科技 互联网科技公司的市场部门 科技互联网的估值 互联网为啥属于高科技 互联网科技与大数据专业 互联网科技人工智能实验室 科技类公司包括互联网吗 山东星卡互联网科技有限公司官网 上海乐五互联网科技有限公司 国产互联网科技公司 广西科技产业互联网是什么 科技互联网专业务虚会材料 互联网科技创业计划的风险分析 今日互联网科技 上海喔噻互联网科技 大白互联网科技 哈尔滨新华互联网科技 广州优美互联网科技 互联网科技实习生岗位职责 互联网科技创新的路径 美国互联网科技公司 宁波跨境商互联网科技有限公司 福州德业互联网科技
0