アカウント名:
パスワード:
PNG偽装のスクリプト上げられるって中々に穴が開きそうな気がするんですが
JavascriptでPNGからスクリプト抽出&実行できる環境にアップローダーの組み合わせみたいな
アップロードディレクトリをpublic_htmlの外においている安全策もPHPには有効でしょうけどクライアントで実行されるスクリプトには無力なような
デモサイトを自前で公開する方はよく考えて実装したほうがよさげ
> PNG偽装のスクリプト上げられるって> 中々に穴が開きそうな気がするんですが
いや、もう穴自体はあいてますよ。ていうか、JavaScriptコードがエンコードされたファイルはあくまで画像ファイルですので、そこからJavaScriptコードの抽出処理を行わなければまったくの無害です。
問題は、どうやってコード抽出処理を行うか。ストーリーのリンク先で説明されていますが、このJS圧縮PNGは、自己展開実行機能を持たせることも可能としています。その原理は、
・IEはContent-Typeを無視し、データの中身を見てファイル種別を判断する・そのためPNGのヘッダ情報に(コメ
Macで開発してるっぽいのに、なんでIEの話が出てくるん?
すみません、自己展開処理については説明を誤読してました。JavaScriptコードを埋め込んだPNGファイルを、拡張子 html にして(Content-Type: text/html にして)、ブラウザに送り込んでますね。これなら、IEに限らずブラウザ汎用で動作します。
でも、元コメの「穴があくんじゃないのか」という疑問に対しては、画像として特殊なことはしてませんので、だからどうしたということは特になく、そもそも「HTMLデータを送りこめてる」時点で大穴、ということになります。
気になるのは、これが PNG だからという理由でセキュリティソフトのチェックをすり抜けるかどうかです。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson
これ大丈夫かな (スコア:0)
PNG偽装のスクリプト上げられるって
中々に穴が開きそうな気がするんですが
JavascriptでPNGからスクリプト抽出&実行できる環境に
アップローダーの組み合わせみたいな
アップロードディレクトリを
public_htmlの外においている安全策も
PHPには有効でしょうけど
クライアントで実行されるスクリプトには無力なような
デモサイトを自前で公開する方は
よく考えて実装したほうがよさげ
Re: (スコア:2)
> PNG偽装のスクリプト上げられるって
> 中々に穴が開きそうな気がするんですが
いや、もう穴自体はあいてますよ。
ていうか、JavaScriptコードがエンコードされたファイルはあくまで画像ファイルですので、そこからJavaScriptコードの抽出処理を行わなければまったくの無害です。
問題は、どうやってコード抽出処理を行うか。
ストーリーのリンク先で説明されていますが、このJS圧縮PNGは、自己展開実行機能を持たせることも可能としています。その原理は、
・IEはContent-Typeを無視し、データの中身を見てファイル種別を判断する
・そのためPNGのヘッダ情報に(コメ
Re:これ大丈夫かな (スコア:0)
Macで開発してるっぽいのに、なんでIEの話が出てくるん?
Re:これ大丈夫かな (スコア:1)
すみません、自己展開処理については説明を誤読してました。
JavaScriptコードを埋め込んだPNGファイルを、拡張子 html にして(Content-Type: text/html にして)、ブラウザに送り込んでますね。
これなら、IEに限らずブラウザ汎用で動作します。
でも、元コメの「穴があくんじゃないのか」という疑問に対しては、
画像として特殊なことはしてませんので、だからどうしたということは特になく、
そもそも「HTMLデータを送りこめてる」時点で大穴、ということになります。
Re: (スコア:0)
気になるのは、これが PNG だからという理由でセキュリティソフトのチェックをすり抜けるかどうかです。