我正在尝试双重确认一个客户,Imagetragick vuln确实固定在heroku上。我不想仅仅相信heroku发布的陈述是真的,我想证实自己。
我在rails应用程序上使用mini_magick和carrierwave,但这适用于使用imagemagick(paperclip等等)的任何设置
答案 0 :(得分:1)
事实证明,通过查看heroku服务器上的policy.xml文档来确认它相对容易。唯一有趣的是知道在哪里看。所以请执行以下操作(请记住,您处于生产环境中,因此不要编辑任何文件;最终它们会被覆盖):
heroku run bash [-a] [app name if needed]
find / | grep "policy.xml" (not really necessary, just showing my work)
cat /etc/ImageMagick/policy.xml
它应显示以下内容:
<policymap>
<policy domain="coder" rights="none" pattern="EPHEMERAL" />
<policy domain="coder" rights="none" pattern="URL" />
<policy domain="coder" rights="none" pattern="HTTPS" />
<policy domain="coder" rights="none" pattern="MVG" />
<policy domain="coder" rights="none" pattern="MSL" />
<policy domain="coder" rights="none" pattern="TEXT" />
<policy domain="coder" rights="none" pattern="SHOW" />
<policy domain="coder" rights="none" pattern="WIN" />
<policy domain="coder" rights="none" pattern="PLT" />
</policymap>
然后您可以根据修复确认:
以下内容:
<policymap>
<policy domain="coder" rights="none" pattern="EPHEMERAL" />
<policy domain="coder" rights="none" pattern="URL" />
<policy domain="coder" rights="none" pattern="HTTPS" />
<policy domain="coder" rights="none" pattern="MVG" />
<policy domain="coder" rights="none" pattern="MSL" />
<policy domain="coder" rights="none" pattern="TEXT" />
<policy domain="coder" rights="none" pattern="SHOW" />
<policy domain="coder" rights="none" pattern="WIN" />
<policy domain="coder" rights="none" pattern="PLT" />
</policymap>
答案 1 :(得分:0)
确认漏洞已修复的实际方法是在目标上执行POC漏洞利用。官方公开here还显示了一种通过在终端中执行以下命令来轻松测试服务器的方法。
( git 应安装在服务器上或手动下载git的内容。)
<强>命令强>
git clone https://github.com/ImageTragick/PoCs
cd PoCs
chmod +x test.sh && ./test.sh
安全输出
此输出表示您的服务器不再容易受到攻击。
user@host:~/code/PoCs$ ./test.sh
testing read
SAFE
testing delete
SAFE
testing http with local port: 38663
SAFE
testing http with nonce: a7DyBeV7
SAFE
testing rce1
SAFE
testing rce2
SAFE
testing MSL
SAFE
不安全的输出
如果您在输出中的任何位置看到 UNSAFE 字,您的服务器仍然容易受到攻击。
user@host:~/code/PoCs$ ./test.sh
testing read
UNSAFE
testing delete
UNSAFE
testing http with local port: 44755
UNSAFE
testing http with nonce: a7DvBer2
UNSAFE
testing rce1
UNSAFE
testing rce2
UNSAFE
testing MSL
UNSAFE