文件上传漏洞2总结篇(含思维导图,齐全)

文件上传漏洞全解析1【绕过方法齐全搭配例题,小白必备】-CSDN博客

这是1,更加详细,此篇为总结,过一遍为主,以及上一篇的一点补充

(文件上传漏洞:upload-labs靶场通关_文件上传漏洞靶场_文件上传靶场-CSDN博客这位大佬的靶场也很详细)

(文件上传绕过方法总结(入门必看)-CSDN博客这个总结的也厉害)

自己手搓的不容易。。。。。。。。

等价拓展名
如何判断需要什么绕过方式(以代码为例)【省略部分】
黑名单字样
复制代码
$deny_ext = array('.asp','.aspx','.php','.jsp');
//设置了黑名单(黑榜)
if(!in_array($deny_ext)) {
  $is_upload = true;
  } else {
            $msg = '不允许上传.asp,.aspx,.php,.jsp后缀文件!';
        }
//!in_array看数组是否在$deny_ext,在则else,不在则if
避免空格绕过
复制代码
$file_ext = trim($file_ext);
  • 目的 :确保后缀无多余空格(如.php →.php)。
  • trim():去除文件名前后的空格,避免因空格导致的解析错误。
避免点绕过
复制代码
$file_name = deldot($file_name);

deldot():自定义函数(未展示代码),作用是删除文件名末尾的.(例如将shell.php.处理为shell.php)。

目的:防止攻击者通过shell.php.绕过后缀检查(部分系统会自动忽略末尾的点)。

避免大小写绕过
复制代码
$file_ext = strtolower($file_ext);

strtolower():将后缀转为小写(如.PHP→.php)。

目的:避免大小写绕过(如.PhP)。

避免::$DATA绕过
复制代码
$file_ext = str_ireplace('::$DATA', '', $file_ext);
  • str_ireplace('::DATA', '', file_ext):移除后缀中的::$DATA(Windows NTFS文件系统的伪流标记)。

  • 背景 :Windows中file.php::$DATA会被解析为file.php,攻击者可能利用此特性绕过过滤。

文件头绕过
1. 图片类
  • JPEG :FF D8 FF E0(常见)或 FF D8 FF E1(带EXIF信息)
  • PNG :89 50 4E 47 0D 0A 1A 0A(标志性开头)
  • GIF :47 49 46 38 39 61(GIF89a)或 47 49 46 38 37 61(GIF87a)
  • BMP :42 4D("BM",Bitmap的缩写)
2. 文档类
  • PDF :25 50 44 46("%PDF")
  • Word(.doc/.docx):
    • .doc(旧版):D0 CF 11 E0 A1 B1 1A E1(复合文档格式)
    • .docx(新版):50 4B 03 04(ZIP压缩包,同.xlsx/.pptx)
  • Excel(.xls/.xlsx):
    • .xls(旧版):D0 CF 11 E0 A1 B1 1A E1
    • .xlsx(新版):50 4B 03 04
3. 压缩包类
  • ZIP :50 4B 03 04(所有ZIP压缩文件的开头)
  • RAR :52 61 72 21 1A 07 00("Rar!")
  • 7Z :37 7A BC AF 27 1C("7z\xBC\xAF\x27\x1C")
4. 可执行文件类
  • Windows EXE :4D 5A("MZ",DOS时代的标记)
  • ELF(Linux可执行文件) :7F 45 4C 46("ELF")
  • PE(Windows程序) :4D 5A后紧跟50 45 00 00(PE文件标记)
5. 其他常见类型
  • TXT(ASCII):无固定文件头(纯文本,开头为字符本身)
  • HTML :3C 21 44 4F 43 54 59 50 45(<!DOCTYPE)
  • MP3 :49 44 33(ID3标签开头)或 FF FB(音频帧开头)
相关推荐
贵州诚鑫致达科技有限公司27 分钟前
接入汇聚都是环怎么防环路?华为SEP加RRPP混合环
服务器·华为·php
BingoGo38 分钟前
别再只用数组了,这 10 种 PHP 数据结构值得了解
后端·php
weixin_4173968339 分钟前
酒店弱电怎么验收?四个阶段与逐项检查清单
开发语言·前端·php·综合布线·弱电
2301_7807896642 分钟前
IPv6 洪水猛兽:DDoS 攻击面 3 倍扩张下的精准清洗新战法
运维·安全·web安全·ddos·devops
JaguarJack1 小时前
别再只用数组了,这 10 种 PHP 数据结构值得了解
后端·php·服务端
ITxiaobing202314 小时前
海外广告投放的 IP 定位服务怎么选?一份基于实测数据的选型参考
网络协议·tcp/ip·php
weixin_4173968314 小时前
桌面云终端PXE启动失败怎么排查?从DHCP Option到镜像下发
开发语言·前端·php·技术·酒店·综合布线·弱电
ServBay16 小时前
PHP 突爆 9.2 分高危漏洞,你升级了吗?
后端·php
综合简报17 小时前
黑五海外发稿投给谁?三类海外媒体发稿渠道的分工
开发语言·php·媒体
子兮曰18 小时前
PHP漏洞危机,你的网站升级了吗?
前端·后端·php