ImageMagick 安全
Reading time: 5 minutes
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
查看更多细节在 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 中确认安全政策的有效性。此外,前面提到的 evaluator tool 可以根据个人需求来完善政策。
参考文献
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。