关键信息总结 漏洞名称 Ruby Dragonfly – Argument Injection Vulnerability 漏洞描述 在某些配置的Refinery CMS中存在参数注入漏洞,该漏洞的根本原因在于Ruby Gem Dragonfly库。 漏洞影响 该库被多个CMS使用,如Refinery CMS、Locomotive CMS和Alchemy CMS。 漏洞发现过程 1. 本地文件包含(LFI)尝试:尝试访问 等路径,但由于存在限制未能成功。 2. 命令注入尝试:通过分析Dragonfly的源码,找到 和 作业支持的 功能,可以实现命令注入,但需要绕过一些阻拦。 漏洞利用 Shell命令参数注入:在 命令中注入参数,实现文件读取和写入。 任意文件读取:构造特定的URL,读取 文件。 任意文件写入:通过ImageMagick的 参数,将内容写入到任意文件中。 远程代码执行(RCE):通过覆盖 文件并写入恶意代码,实现远程代码执行。 影响及修复 需要禁用 选项,或更新Dragonfly Ruby Gem到1.4.0版本以解决该问题。 漏洞修复与验证 更新Dragonfly库,确保修复了相应版本的漏洞,测试验证修复的有效性。 关键代码片段 技术细节 Shell命令注入:利用Dragonfly库中的 和 功能,结合ImageMagick的 命令,实现了命令注入。 ImageMagick特性:ImageMagick支持读取非图像文件并将其转换为图像,通过特定选项可以实现文件读取和写入。 漏洞修复建议 更新Dragonfly宝石版本到1.4.0及以上。 启用 选项,确保URL的有效性和安全性。