简介
ImageMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。ImageMagick的大多数功能的使用都来源于命令行工具。
当 ImageMagick 解析 PNG 文件时,例如在调整大小操作中,生成的图像可能嵌入了来自网站的任意远程文件的内容(如果 magick 二进制文件有权读取它)。
恶意行为者可以制作 PNG 或使用现有 PNG 并添加文本块类型(例如 tEXt)。这些类型具有关键字和文本字符串。如果关键字是字符串“profile”(不带引号),则 ImageMagick 会将文本字符串解释为文件名,并将内容加载为原始配置文件,然后攻击者可以下载随远程文件内容一起提供的调整大小的图像。
影响范围
ImageMagick 7.1.0-51版本及以前
fromhex函数
fromhex函数,用来将hexstr导入bytes对象,相当于用hexstr来创建bytes对象。
漏洞分析
攻击者可以向PNG图片添加一个文本块类型,比如tEXt
,这些类型由一个「关键字」和一个「文本字符串」构成。如果「关键字」是profile
,那么ImageMagick就把「文本字符串」当做一个路径,并读取对应文件内容作为profile,文件内容以HEX形式嵌入新生成的PNG图片,攻击者下载新的图片就可以拿到读取的文件内容了。
漏洞复习
找一个上传图片的位置&#