2012-01-10
■[Event] 世界のセキュリティ人材育成と日本の課題 〜CTFが切り札となるか!?〜


ということで、CTFとかほとんど関わってないけど成り行きで Network Security Forum 2012(NSF2012)に出演させていただくことになりました。
110分も何を話そう..
2011-12-20
■[SECURITY] MS11-099 Internet Explorer 用の累積的なセキュリティ更新プログラム で修正されたXSSの話

マイクロソフト セキュリティ情報 MS11-099 - 重要 : Internet Explorer 用の累積的なセキュリティ更新プログラム (2618444) で修正された「Content-Disposition の情報漏えいの脆弱性 - CVE-2011-3404」について書いておきます。
Content-Disposition: attachment をHTTPレスポンスヘッダに指定すると、一般的なブラウザではコンテンツをブラウザ内でいきなり開くのではなく、ローカルディスクへダウンロードすることになります。ところが、MS11-099にて修正された脆弱性を使用すると、罠ページを経由することで Content-Disposition: attachment のついたhtmlを強制的にInternet Explorer内で開くことができたため、例えば Wiki や Web メールの添付ファイルなどを経由することでXSSを発生させることができました。
攻撃者は以下のような罠ページを作って、iframe にて Content-Disposition: attachment つきのリソースを指定しておきます。
<iframe src="http://target.example.com/attachment.cgi" id="ifr"></iframe> <script> </script> function f2(){ document.getElementById("ifr").history.back(); } function f1(){ document.getElementById("ifr").location = "trap2.html"; } setTimeout( 'f1()', 1000 );
最初は Content-Disposition 付きのコンテンツが iframe の src に指定されており、IEでこの罠ページを開いたときにはダウンロード指令つきのコンテンツをブロックした旨が情報バーにて表示されます。
ただし、1秒後にはsetTimeout の結果 iframe の src は 攻撃者が作成した trap2.html へと変わります。trap2.html の内容は以下の1行です。
<script>history.back();</script>
この結果、iframe の src は再び Content-Disposition つきのコンテンツとなりますが、このとき Content-Disposition は無視され、iframe 内にてコンテンツがいきなり開かれてしまい、攻撃者はXSSを成功させることができます。
「Content-Disposition の情報漏えいの脆弱性 - CVE-2011-3404」の「Content-Disposition の情報漏えいの脆弱性」のよく寄せられる質問 - CVE-2011-3404 には
このセキュリティ情報の公開時に、この脆弱性は一般に知られていましたか?
いいえ。マイクロソフトは協調的な脆弱性の公開を通して、この脆弱性に関する情報を受けました。
とあるのですが、2007年夏ごろすでに詳細がWeb上に公開されていました。そのため、Microsoftに対して本件を脆弱性として把握しているかの連絡をとったのですが、修正までに4年を要したようです。
本件が修正前に公知であったことを確認できるリソースとしては、「ウェブアプリケーションセキュリティ」(書籍,いわゆる「金床本」)や「BK通信 - ブラウザのバッドノウハウ コンテンツ編」などがあります。とくに金床本では上記と同様のPoCつきで丁寧に解説されています。
2011-11-18
2011-11-09
■[SECURITY] MFSA 2011-47: Shift-JIS を用いた潜在的な XSS 攻撃

Firefox 8 で修正されました!ヽ(´ー`)ノ
こういう攻撃方法があるということ自体はずいぶん以前から知られていましたが、今回はもうちょっと攻撃の可能性を広げるような方法を考えて報告しました。
詳しい話をこんどの土曜日の AVTokyo でしようかな…。
2011-11-02
■[SECURITY] MS10-090 Internet Explorer 用の累積的なセキュリティ更新プログラム で修正されたXSSの話

すでに1年近く経っていますが、Microsoft Security Bulletin MS10-090 - Critical : Internet Explorer 用の累積的なセキュリティ更新プログラム (2416400) に含まれる「クロス ドメインの情報の漏えいの脆弱性」- CVE-2010-3348 について書いておきます。発見者は @okomekiさん。
UTF-7的なXSS脆弱性がieのiso-2022-jpで簡単に作れてみた
@hoshikuzu @hasegawayosuke 特定文字がcp5022xで意図しないコードに化ける的なものです。バグになるのか仕様になるのか
.@hoshikuzu @hasegawayosuke Outlook Express の手元のでも同じ状態再現。Firefox/Opera等では化けずにcp5022x的にデコードされるので差異ができる。
IPAよりIEのiso-2022-jp脆弱的なバグが12月修正されるらしい。
ISO-2022-JPで作成されたWebページにおいて、HTML先頭から4096バイト目付近にエスケープシーケンスが置かれた場合、正しく文字集合を切り替えることができないというバグがありました。
例えば、
(1) : 0x1B 0x28 0x49 0x27 (ここが4096バイト目)0x1B ... http://utf-8.jp/PoC/50221-1.html
という場合にはバイト列中の0x27は半角カタカナ(JIS X 0201片仮名用図形文字集合)として取り扱われXSSは発生しませんが、
(2) : 0x1B 0x28 0x49 (ここが4096バイト目)0x27 0x1B ... http://utf-8.jp/PoC/50221-2.html
という場合にはバイト列中の0x27がASCII(またはJIS X 0201のラテン文字用図形文字集合かもしれないけれどどちらなのかは未確認)として取り扱われるためXSSが発生することがありました。
攻撃者は、うまく文字数を調整することで、ISO-2022-JPで書かれたWebページにおいてXSSを発生させることが可能でした。
