アカウント名:
パスワード:
PNG偽装のスクリプト上げられるって中々に穴が開きそうな気がするんですが
JavascriptでPNGからスクリプト抽出&実行できる環境にアップローダーの組み合わせみたいな
アップロードディレクトリをpublic_htmlの外においている安全策もPHPには有効でしょうけどクライアントで実行されるスクリプトには無力なような
デモサイトを自前で公開する方はよく考えて実装したほうがよさげ
> PNG偽装のスクリプト上げられるって> 中々に穴が開きそうな気がするんですが
いや、もう穴自体はあいてますよ。ていうか、JavaScriptコードがエンコードされたファイルはあくまで画像ファイルですので、そこからJavaScriptコードの抽出処理を行わなければまったくの無害です。
問題は、どうやってコード抽出処理を行うか。ストーリーのリンク先で説明されていますが、このJS圧縮PNGは、自己展開実行機能を持たせることも可能としています。その原理は、
・IEはContent-Typeを無視し、データの中身を見てファイル種別を判断する・そのためPNGのヘッダ情報に(コメ
>ストーリーのリンク先で説明されていますがIEの話なんてどこに書いてあるんです?
確かに、リンク先の説明はブラウザ汎用っぽい文章になっており、IEの話なんて書かれてないんですが、実際のところそれが動作するのはIEだけです。それ以外のブラウザ(少なくともFirefoxとChromeとOperaとSafari)は、ちゃんとContent-Typeを見て動作しますので、Content-Typeを画像と偽装したHTMLデータがHTMLとしてレンダリングされることはありません。
いや、リンク先のデモ画像もMacのブラウザ(絶対IEではない)だろ...IE憎しで頭おかしくなってないか?
すみません、確かにIE憎しが念頭にありました。#2814116 [srad.jp]に書いた通りで、拡張子をhtmlに変えてしまえばMacでも何でも動作します。元コメの「穴が空いてるかどうか」については、「IEなら元から空いている」「IE以外なら大丈夫」ってことで。
どうしてもIEに穴があることにしたいようですが、いまやContent-Typeが無視されないようにするのはサイト管理者側の責任ですよ。# 互換性のためとはいえ、デフォルトが危険な状態なのは如何なものかとは思うけど。
https://www.google.co.jp/search?q=x-content-type-options+nosniff [google.co.jp]
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
Stay hungry, Stay foolish. -- Steven Paul Jobs
これ大丈夫かな (スコア:0)
PNG偽装のスクリプト上げられるって
中々に穴が開きそうな気がするんですが
JavascriptでPNGからスクリプト抽出&実行できる環境に
アップローダーの組み合わせみたいな
アップロードディレクトリを
public_htmlの外においている安全策も
PHPには有効でしょうけど
クライアントで実行されるスクリプトには無力なような
デモサイトを自前で公開する方は
よく考えて実装したほうがよさげ
Re: (スコア:2)
> PNG偽装のスクリプト上げられるって
> 中々に穴が開きそうな気がするんですが
いや、もう穴自体はあいてますよ。
ていうか、JavaScriptコードがエンコードされたファイルはあくまで画像ファイルですので、そこからJavaScriptコードの抽出処理を行わなければまったくの無害です。
問題は、どうやってコード抽出処理を行うか。
ストーリーのリンク先で説明されていますが、このJS圧縮PNGは、自己展開実行機能を持たせることも可能としています。その原理は、
・IEはContent-Typeを無視し、データの中身を見てファイル種別を判断する
・そのためPNGのヘッダ情報に(コメ
Re:これ大丈夫かな (スコア:0)
>ストーリーのリンク先で説明されていますが
IEの話なんてどこに書いてあるんです?
Re:これ大丈夫かな (スコア:1)
確かに、リンク先の説明はブラウザ汎用っぽい文章になっており、IEの話なんて書かれてないんですが、実際のところそれが動作するのはIEだけです。
それ以外のブラウザ(少なくともFirefoxとChromeとOperaとSafari)は、ちゃんとContent-Typeを見て動作しますので、Content-Typeを画像と偽装したHTMLデータがHTMLとしてレンダリングされることはありません。
Re: (スコア:0)
いや、リンク先のデモ画像もMacのブラウザ(絶対IEではない)だろ...
IE憎しで頭おかしくなってないか?
Re:これ大丈夫かな (スコア:1)
すみません、確かにIE憎しが念頭にありました。
#2814116 [srad.jp]に書いた通りで、拡張子をhtmlに変えてしまえばMacでも何でも動作します。
元コメの「穴が空いてるかどうか」については、「IEなら元から空いている」「IE以外なら大丈夫」ってことで。
Re: (スコア:0)
どうしてもIEに穴があることにしたいようですが、
いまやContent-Typeが無視されないようにするのはサイト管理者側の責任ですよ。
# 互換性のためとはいえ、デフォルトが危険な状態なのは如何なものかとは思うけど。
https://www.google.co.jp/search?q=x-content-type-options+nosniff [google.co.jp]