2016-05-11 5 views
0

私は、Imagetragickの肉体が実際に英雄に固定されていることをクライアントのために確認しようとしています。私はherokuのリリースされた声明が本当であると信じるだけではない、私は自分自身を確認したいと思います。Imagetragickの脆弱性が英雄で修正されていることを確認するにはどうすればよいですか?

私はレールのアプリにmini_magickとcarrierwaveを使用していますが、これはImageMagickの(クリップなど)

Herokuののステートメントを使用する任意の設定のために働く必要があります。https://devcenter.heroku.com/changelog-items/891

答えて

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> 

あなたはその後、修正に対することを確認することができます以下れる

https://imagetragick.com/

<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

実際にhttps://画像の場所を変換する必要がある場合はどうなりますか?私はこのルールをrights = "read | write"に置き換えようとしていますが、/etc/ImageMagick/policy.xmlのデフォルトポリシーが先行しているようです。 –

+0

@MattKimこれを理解しましたか? httpsで同じ問題に走っています... – tehfailsafe

+0

ちょっと@tehfailsafe私はちょうどawsを使い、自分のサーバーを回転させてしまいました。あなたが解決策を持っているなら、あなたがしたことを聞いて欲しいです! –

0

この脆弱性が修正されたことを確認する実際の方法は、ターゲットでPOC攻撃を実行することです。公式の公開hereは、あなたの端末で以下のコマンドを実行することによって簡単にサーバをテストする方法も示しています。

gitのがサーバーにインストールするか、手動でのgitのコンテンツをダウンロードする必要があります。)

コマンド

git clone https://github.com/ImageTragick/PoCs 
cd PoCs 
chmod +x test.sh && ./test.sh 

安全出力

この出力あなたのサーバーがもはや脆弱ではないことを意味します。

[email protected]:~/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単語が表示される場合は、ご使​​用のサーバーは依然として脆弱です。

[email protected]:~/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 
+0

私はそれを試していませんが、herokuシェルの中でスクリプトを実行するつもりはありません。これは具体的には他のプラットフォームではなく英雄で検証するためのものでした。私はそれが確かめる理想的な方法だろうと同意するが、私はそれが英雄で動くとは思わない。 – jakeatwork

関連する問題