パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

JavaScriptをPNGに圧縮するテクニック」記事へのコメント

  • by Anonymous Coward

    PNG偽装のスクリプト上げられるって
    中々に穴が開きそうな気がするんですが

    JavascriptでPNGからスクリプト抽出&実行できる環境に
    アップローダーの組み合わせみたいな

    アップロードディレクトリを
    public_htmlの外においている安全策も
    PHPには有効でしょうけど
    クライアントで実行されるスクリプトには無力なような

    デモサイトを自前で公開する方は
    よく考えて実装したほうがよさげ

    • > PNG偽装のスクリプト上げられるって
      > 中々に穴が開きそうな気がするんですが

      いや、もう穴自体はあいてますよ。
      ていうか、JavaScriptコードがエンコードされたファイルはあくまで画像ファイルですので、そこからJavaScriptコードの抽出処理を行わなければまったくの無害です。

      問題は、どうやってコード抽出処理を行うか。
      ストーリーのリンク先で説明されていますが、このJS圧縮PNGは、自己展開実行機能を持たせることも可能としています。その原理は、

      ・IEはContent-Typeを無視し、データの中身を見てファイル種別を判断する
      ・そのためPNGのヘッダ情報に(コメ

      • by Anonymous Coward on 2015年05月14日 10時41分 (#2814090)

        Macで開発してるっぽいのに、なんでIEの話が出てくるん?

        親コメント
        • すみません、自己展開処理については説明を誤読してました。
          JavaScriptコードを埋め込んだPNGファイルを、拡張子 html にして(Content-Type: text/html にして)、ブラウザに送り込んでますね。
          これなら、IEに限らずブラウザ汎用で動作します。

          でも、元コメの「穴があくんじゃないのか」という疑問に対しては、
          画像として特殊なことはしてませんので、だからどうしたということは特になく、
          そもそも「HTMLデータを送りこめてる」時点で大穴、ということになります。

          親コメント
          • by Anonymous Coward

            気になるのは、これが PNG だからという理由でセキュリティソフトのチェックをすり抜けるかどうかです。

私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson

処理中...