[GHCTF 2025]UPUPUP【.htaccess绕过 XBM/WBMP】

题目:

这种文件上传可以先尝试一下让他报错,发现是apache的服务器,就想到.htaccess

上传了 .htaccess 和 .jpg 都没啥用,这时候应该想到后端采用了getimagesize和exif_imagetype限制

在文件上传时,有时候会用 exif_imagetype 函数判断一个图像的类型,读取一个图像的第一个字节并检查其签名,所以我们图片马的开头要加上 GIF89a,但是如果我们在. htaccess 文件中也加入 GIF89a 的话会导致. htaccess 文件无法生效,所以我们要用别的方法。

这时候有两种绕过方法:

第一种

写入XBM绕过

XBM格式:

XBM格式,也就是X BitMap,是一种基于文本的图像格式(纯文本图像格式),用于存储黑白像素(没有颜色,只有0和1表示是否填充)。它的本质是一个C语言头文件(.h文件),内部用代码定义了一个二维数组,描述图像的每个像素点。

由于XBM是文本格式,可以写入.htaccess文件中,可以通过这个绕过exif_imagetype()

在.htaccess开头加上:

复制代码
#define width 1
#define height 1

++#define 定义常量,规定了这个图像的长和宽都是多少++

其实完整的XBM长这样:

绕过原理:

PHP的exif_imagetype() 函数通过读取文件头部的魔术字节(Magic Bytes)判断文件类型。这里XBM文件的头部是文本形式的 #define 语句,符合标准的XBM格式,因此会被识别为 IMAGETYPE_XBM(PHP常量值为 16)。

第二种

**WBMP文件格式,**利用

复制代码
\x00\x00\x8a\x39\x8a\x39

或者

复制代码
\x00\x00\x85\x85

放在开头,剩下的正常写

相关推荐
~kiss~15 分钟前
图像处理~多尺度边缘检测算法
图像处理·算法·计算机视觉
lihuayong26 分钟前
LangGraph React智能体 - 推理与行动的完美结合
人工智能·langgraph·react 智能体
机器之心29 分钟前
Meta用40万个GPU小时做了一个实验,只为弄清强化学习Scaling Law
人工智能·openai
曾经的三心草32 分钟前
OpenCV5-图像特征harris-sift-特征匹配-图像全景拼接-答题卡识别判卷
人工智能·opencv·计算机视觉
慧星云1 小时前
魔多 AI 支持 Wan 系列在线训练 :解锁视频生成新高度
人工智能
麻辣兔变形记1 小时前
Solidity 合约超限问题及优化策略:以 FHEFactory 为例
人工智能·区块链
渡我白衣1 小时前
未来的 AI 操作系统(二)——世界即界面:自然语言成为新的人机交互协议
人工智能·语言模型·人机交互
墨利昂2 小时前
词向量:自然语言处理技术体系的核心基石
人工智能·自然语言处理
格林威2 小时前
可见光工业相机半导体制造领域中的应用
图像处理·人工智能·数码相机·计算机视觉·视觉检测·制造·工业相机
星期天要睡觉2 小时前
计算机视觉(opencv)——基于 MediaPipe 人体姿态检测
人工智能·opencv·计算机视觉