Home > 技術 > UTF-7でスクリプトを実行させるXSSについて

UTF-7でスクリプトを実行させるXSSについて

IEでUTF-7なスクリプトをiframeの中に表示するとXSSが発生するメモです。
あんまりこの話には詳しくないので、今後の調査材料として残しときます。
(※一応悪用厳禁であります!)

iframe内のエンコードが正しく指定されていない場合は、そのiframeの親にあたる部分のエンコードが自動的に適用されるというIEのバグがあるみたい。
今回はそれのちょこっとした検証!

1番初めに呼ばれるhtml(①.html)

iframe内で呼ばれるGetメソッド

結果

doGetメソッド内でエンコードを正しく設定せずにレスポンスしているため、IEでalertが表示される。

その他の実験まとめ

  1. 「①.html」ではなくiframeのパスを直接呼んだ場合はscriptは実行されない
  2. 「①.html」にmetaタグを正しく指定すればscriptは実行されない
    <meta http-equiv='content-type' content='text/html;charset=utf-8'>
    ただしutf-7を指定した場合はscriptは実行される(まぁそうだろうな)
    <meta http-equiv='content-type' content='text/html;charset=utf-7'>
  3. サーバー側でエンコード指定してもIEが解釈できないエンコードの場合はscript発生
    arg1.setContentType("text/html");
    arg1.setCharacterEncoding("utf8");	//正しくはutf-8
    
  4. 当たり前だがiframe内のhtmlに正しくmetaタグを指定すればscriptは実行されない

このお話はなかなか奥が深くてむずかしいですね。
とにかくIEに依存した Webアプリケーション セキュリティのプレゼン資料を見て勉強するしかなかそうです!


■参考にさせていた資料
IEに依存した Webアプリケーション セキュリティ
そろそろ UTF-7 について一言いっとくか - 葉っぱ日記
まだまだあるクロスサイト・スクリプティング攻撃法:ITpro
36. UTF-7とクロスサイト・スクリプティング:ITpro

Trackback:0

TrackBack URL for this entry
http://hisasann.com/cgi-bin/mt/mt-tb.cgi/1131
Listed below are links to weblogs that reference
UTF-7でスクリプトを実行させるXSSについて from HouseTect, JavaScriptな情報をあなたに

Home > 技術 > UTF-7でスクリプトを実行させるXSSについて

Tag cloud
月別アーカイブ
Powered by
Powered by
Movable Type Commercial 4.261

Page Top