[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

放在开头,剩下的正常写

相关推荐
二二孚日17 分钟前
自用华为ICT云赛道AI第一章知识点-机器学习的常见算法
人工智能·华为
聚客AI22 分钟前
🎯 RAG系统工业级部署指南:六步实现<3%幻觉率的问答系统
人工智能·langchain·llm
掘金一周1 小时前
Figma Dev Mode MCP:大人,时代变了 | 掘金一周7.10
前端·人工智能·mcp
大千AI助手1 小时前
陶哲轩:数学界的莫扎特与跨界探索者
人工智能·数学·机器学习·概率·人物·天才·陶哲轩
通街市密人有1 小时前
PanTS: The Pancreatic Tumor Segmentation Dataset
人工智能·深度学习·计算机视觉
高工智能汽车2 小时前
出圈or出局?AI汽车“急速驶来”,市场淘汰赛一触即发
人工智能·汽车
Qdgr_2 小时前
传统报警难题频现,安全运行隐患重重
大数据·人工智能·安全
rit84324992 小时前
MATLAB基于voronoi生成三维圆柱形
开发语言·人工智能·matlab
xuedaobian2 小时前
AI IDE里的 context 工程
人工智能·aigc·visual studio code