hacktricks/network-services-pentesting/pentesting-web/imagemagick-security.md

3.6 KiB
Raw Blame History

ImageMagick安全性

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式

https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html中查看更多详细信息

ImageMagick是一个多功能的图像处理库由于其广泛的选项和缺乏详细的在线文档配置其安全策略是一个挑战。用户通常基于碎片化的互联网来源创建策略导致潜在的配置错误。该库支持超过100种图像格式每种格式都增加了其复杂性和易受攻击的特性正如历史安全事件所示。

迈向更安全的策略

为了解决这些挑战,已经开发了一个工具用于帮助设计和审计ImageMagick的安全策略。该工具根植于广泛的研究旨在确保策略不仅健壮而且没有可以被利用的漏洞。

白名单与黑名单方法

在历史上ImageMagick的策略依赖于黑名单方法其中特定的编码器被拒绝访问。然而在ImageMagick 6.9.7-7中的变化改变了这一范式实现了白名单方法。这种方法首先拒绝所有编码器的访问然后有选择地授予受信任的编码器访问权限增强了安全性。

...
<policy domain="coder" rights="none" pattern="*" />
<policy domain="coder" rights="read | write" pattern="{GIF,JPEG,PNG,WEBP}" />
...

策略中的大小写敏感性

值得注意的是ImageMagick 中的策略模式是大小写敏感的。因此,确保策略中的编码器和模块被正确地大写是至关重要的,以防止意外的权限。

资源限制

如果未正确配置ImageMagick 容易受到拒绝服务攻击的影响。在策略中设置明确的资源限制是防止此类漏洞的关键。

策略碎片化

策略可能会在不同的 ImageMagick 安装中分散,导致潜在的冲突或覆盖。建议使用诸如以下命令来定位和验证活动策略文件:

$ find / -iname policy.xml

一个入门级、限制性策略

已经提出了一个限制性策略模板,重点放在严格的资源限制和访问控制上。该模板可作为制定符合特定应用需求的定制策略的基准。

可以使用identify -list policy命令在ImageMagick中确认安全策略的有效性。此外之前提到的评估工具可根据个人需求调整策略。

参考资料