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

67 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ImageMagick 安全性
{% hint style="success" %}
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>支持 HackTricks</summary>
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 分享黑客技巧。
</details>
{% endhint %}
查看更多详细信息请访问 [**https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html**](https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html)
ImageMagick 是一个多功能的图像处理库,由于其广泛的选项和缺乏详细的在线文档,配置其安全策略面临挑战。用户通常基于零散的互联网来源创建策略,这可能导致潜在的错误配置。该库支持超过 100 种图像格式,每种格式都增加了其复杂性和脆弱性,历史安全事件证明了这一点。
## 朝着更安全的政策
为了解决这些挑战,已经开发了一个 [工具](https://imagemagick-secevaluator.doyensec.com/) 来帮助设计和审计 ImageMagick 的安全政策。该工具基于广泛的研究,旨在确保政策不仅稳健,而且没有可能被利用的漏洞。
## 允许列表与拒绝列表方法
历史上ImageMagick 政策依赖于拒绝列表方法其中特定的编码器被拒绝访问。然而ImageMagick 6.9.7-7 的变化改变了这一范式,使允许列表方法成为可能。该方法首先拒绝所有编码器,然后选择性地授予可信编码器访问权限,从而增强了安全态势。
```xml
...
<policy domain="coder" rights="none" pattern="*" />
<policy domain="coder" rights="read | write" pattern="{GIF,JPEG,PNG,WEBP}" />
...
```
## 策略中的大小写敏感性
需要注意的是ImageMagick中的策略模式是区分大小写的。因此确保在策略中正确使用大写字母的编码和模块对于防止意外权限至关重要。
## 资源限制
如果未正确配置ImageMagick容易受到拒绝服务攻击。在策略中设置明确的资源限制对于防止此类漏洞至关重要。
## 策略碎片化
策略可能在不同的ImageMagick安装中碎片化导致潜在的冲突或覆盖。建议使用以下命令定位并验证活动的策略文件
```shell
$ find / -iname policy.xml
```
## 一个入门的限制性政策
一个限制性政策模板已被提出,专注于严格的资源限制和访问控制。该模板作为开发与特定应用需求相一致的定制政策的基础。
可以使用 `identify -list policy` 命令在 ImageMagick 中确认安全政策的有效性。此外,前面提到的 [evaluator tool](https://imagemagick-secevaluator.doyensec.com/) 可用于根据个人需求优化政策。
## 参考文献
* [https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html**](https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}