当前位置: 首页 > news >正文

文件上传--WAF绕过干货

本文主要内容

绕过WAF上传文件

        -- 安全狗

        -- 宝塔

Burp抓包解析

        #上传参数名解析:明确哪些东西能修改?
        Content-Disposition:—般可更改
        name:表单参数值,不能更改
        filename:文件名,可以更改  ,比较重要
        Content-Type:文件MIME,视情况更改

Content-Disposition: form-data; name="upload_file";filename="qq.jpg"
Content-Type: image/jpeg

环境搭建

        虚拟机上安装 :uploadlabs+安全狗

2025年最新upload-labs靶场(环境搭建以及通关全教程)_upload-labs靶场搭建-CSDN博客https://blog.csdn.net/2303_78851087/article/details/145292914

安全狗安装_安全狗安装教程-CSDN博客https://blog.csdn.net/weixin_54648419/article/details/117261396

绕过方法

        #常见绕过方法:


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

Content-Disposition: form-data; name="upload_file";
fjweoifjowiejfiowjefowejfojwioefjewfjweoifjowiejfiowjefowejfojwioefje

wfjweoifjowiejfiowjefowejfojwioefjewfjweoifjowiejfiowjefowejfojwioefj

ewfjweoifjowiejfiowjefowejfojwioefjewfjweoifjowiejfiowjefowejfojwioe

fjewfjweoifjowiejfiowjefowejfojwioefjew;filename="qq.jpg"
Content-Type: image/jpeg      --#在;之间加上一堆垃圾数据

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

Content-Disposition: form-data; name="upload_file";filename="qq.jpg"  --#这里;包含属性要么是函数,要么是属性赋值,有;表示还有属性赋值

filename="x.php
filename='x.php
filename="a.jpg;.php";

filename="xx"qq.jpg

filename="/jpeg/x.php"

filename="Content-Type:image/jpeg;x.php"

       

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

filename="a.php%00.jpg"

filename="x.p

h

p"

        

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

filename="Content-Disposition: form-data;
name="upload_file";x.php"
filename="x.jpg";filename="x.jpg";.....filename="x.php";    --# 感觉和数据溢出差不多欸

        Fuzz模糊测试

构造优质上传漏洞Fuzz字典 - FreeBuf网络安全行业门户https://www.freebuf.com/articles/web/188464.html

                好用的字典

GitHub - TuuuNya/fuzz_dict: 常用的一些fuzz及爆破字典,欢迎大神继续提供新的字典及分类。https://github.com/TuuuNya/fuzz_dict

安全修复方案

文件上传安全修复方案是指一系列用于防止文件上传漏洞的安全措施,旨在确保用户上传的文件不会对服务器或应用程序造成安全威胁。以下是文件上传安全修复方案的主要内容及其用途:

文件上传安全修复方案的主要内容

  1. 严格验证文件类型

    • 白名单机制:仅允许上传特定类型的文件,如图片(jpg、png、gif)、文档(pdf、doc、docx)等。

    • MIME类型检查:验证文件的MIME类型,确保与允许的文件类型一致。

    • 文件内容检测:检查文件内容,确保文件类型与扩展名一致,防止恶意文件伪装。

  2. 文件名处理

    • 重命名文件:将上传的文件重命名为随机生成的名称,避免使用原始文件名,防止路径遍历攻击。

    • 过滤文件名:确保文件名不包含任何可能被解释为目录或遍历序列的子字符串。

  3. 文件存储

    • 隔离存储:将上传的文件存储在Web根目录之外,确保文件不可执行。

    • 隐藏文件路径:避免将文件存储路径暴露给用户。

  4. 限制文件大小

    • 设置文件大小限制:限制上传文件的最大大小,防止攻击者上传过大的文件,耗尽服务器资源。

  5. 服务器端验证

    • 后端验证:在服务器端进行文件验证,而不是依赖客户端验证。

    • 异常处理:在文件上传处理函数中加入异常处理逻辑,确保代码的健壮性。

  6. 权限控制

    • 目录权限限制:确保文件上传目录的权限受到严格控制,仅允许必要的操作。

    • 禁用执行权限:配置服务器,禁止直接执行上传目录中的文件。

  7. 监控和日志记录

    • 安全监控:实施安全监控,检测和响应潜在的恶意上传尝试。

    • 详细日志记录:记录所有文件上传操作,便于事后审计。

  8. 使用安全工具和库

    • 安全上传库:使用安全的上传库和框架,如Express.js的multer中间件。

    • WAF防护:部署Web应用防火墙(WAF)来检测和阻止恶意上传行为。

文件上传安全修复方案的用途

  • 防止恶意文件上传:通过严格的文件类型和内容验证,防止攻击者上传恶意脚本或文件,从而避免服务器被攻击。

  • 保护服务器资源:限制文件大小和存储路径,防止攻击者耗尽服务器资源或访问敏感文件。

  • 增强应用程序安全性:通过后端验证和权限控制,减少因文件上传导致的安全漏洞,提升整体安全性。

  • 提高透明度和可追溯性:通过监控和日志记录,便于及时发现和应对安全事件。

相关文章:

  • SAM12
  • 协作开发攻略:Git全面使用指南 — 第二部分 高级技巧与最佳实践
  • DPIN在AI+DePIN孟买峰会阐述全球GPU生态系统的战略愿景
  • 亚马逊英国站FBA费用重构:轻小商品迎红利期,跨境卖家如何抢占先机?
  • A2A Agent 框架结构化分析报告
  • 基于 EFISH-SBC-RK3588 的无人机多光谱/红外热成像边缘计算方案
  • 数据集中常见的11种变量类型及其在数据分析中的重要性
  • 前端微服务详解
  • 第十二章 Python语言-大数据分析PySpark(终)
  • UE5 调整字体、界面大小
  • 【AI News | 20250424】每日AI进展
  • centos7里memcached 的安装使用
  • Verilog 语法 (一)
  • 第七章:Contribution Governance
  • 【Pandas】pandas DataFrame dot
  • 【C++QT】Buttons 按钮控件详解
  • 乐聚机器人与地瓜机器人达成战略合作,联合发布Aelos Embodied具身智能
  • flask学习(1)
  • MongoDB Compass可视化工具
  • 常见接口测试常见面试题(JMeter)
  • 加拿大财长:加拿大需要抗击美国关税
  • 何立峰出席跨境贸易便利化专项行动部署会并讲话
  • 国防部:希望美方不要有“受迫害妄想症”,总拿别人当借口
  • 出发!陈冬、陈中瑞、王杰三名航天员领命出征
  • “雷公”起诉人贩子王浩文案开庭:庭审前手写道歉信,庭审中不承认拐走川川
  • 美联储褐皮书:关税政策背景下,美国部分地区物价上涨、经济前景恶化