[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

放在开头,剩下的正常写

相关推荐
CORNERSTONE365几秒前
智能制造为什么要实现EMS和MES的集成
大数据·人工智能·制造
weixin_668898644 分钟前
Ascend LlamaFactory微调书生模型
人工智能
全栈技术负责人7 分钟前
AI驱动开发 (AI-DLC) 实战经验分享:重构人机协作的上下文工程
人工智能·重构
Wu_Dylan7 分钟前
智能体系列(二):规划(Planning):从 CoT、ToT 到动态采样与搜索
人工智能·算法
一招定胜负8 分钟前
OpenCV轮廓检测完全指南:从原理到实战
人工智能·opencv·计算机视觉
知乎的哥廷根数学学派14 分钟前
基于多尺度注意力机制融合连续小波变换与原型网络的滚动轴承小样本故障诊断方法(Pytorch)
网络·人工智能·pytorch·python·深度学习·算法·机器学习
xiatianxy16 分钟前
云酷科技用智能化方案破解行业难题
人工智能·科技·安全·智能安全带
星云数灵18 分钟前
大模型高级工程师考试练习题8
人工智能·机器学习·大模型·大模型考试题库·阿里云aca·阿里云acp大模型考试题库·大模型高级工程师acp
A先生的AI之旅18 分钟前
2025顶会TimeDRT快速解读
人工智能·pytorch·python·深度学习·机器学习
2301_8002561120 分钟前
【人工智能引论期末复习】第3章 搜索求解2 - 对抗搜索
人工智能·算法·深度优先