■
■XSS脆弱性悲喜こもごも
XSS脆弱性関連で本日嬉しかったこと1
はてなのサービスのXSS脆弱性をはてなさんに報告したら5分以内に返事が返ってきたこと。これは嬉しいですね。私がはてなを継続的に使うのはこういうマジメさが好きだからです。
とはいえ、恐らく、通常のXSS脆弱性対処策がとれないはずですので、対処は非常に難しいと思います。はてなユーザはログインしたまま、かつJavaScriptオンの状態でうろつきまわるのはやめましょう。Cookieを盗まれます。そして乗っ取られます。制御権を奪われます。あなたのIDが奪われます。
私の対策は、はてなダイアリーを編集する時にだけログオンし、しかもJavaScriptを切ります。日記をアップしたらそそくさとログアウトします。JavaScriptが有効でないと利用できないはてなの各種サービスは一切利用しません。無防備のまま信頼できないサイトの訪問もしません。といいますか普段からそうなので特に苦痛は感じないのですが…
XSS脆弱性関連で本日嬉しかったこと2
自分のサイトで練習用に作成していたCGIの出力においてHTTP応答ヘッダを自前で作成しcharsetを指定しているのに実際にブラウザで受けるとcharsetがもらえてない現象の仕組みがわかったことが嬉しかったですね。金床さん謹製のブラウザに組み込むproxyユーティリティー、『waros』『DoormanあっとJUMPERZ.NET』ベータ版を使っていて、この私のCGIの欠陥に気がつき、対策として.htaccessにAddType "text/html; charset=EUC-JP" html htmを突っ込んでも無効だとわかり、AddDefaultCharset EUC-JPを突っ込むと良いというのがわかった時に嬉しかったですね。そうですかぁ、 xrea.com ではmod-mimeが有効なのですね。こんな単純なこと、結構わからないのですよ、私。金床さん有難うございます。
練習用に作ったCGIは単純なリダイレクタです。水無月ばけらさん謹製の本格的な汎用リダイレクタを頂戴いたしまして、あえてチェックを弱くしたものを練習で作成。基本は302応答なんですけど、リダイレクト先が変だときちんと理由を返してくれる素敵なCGIが、ばけらさんのCGIです。ちゃんとW3Cでvalidですし。
で、チェックを弱くしたら、XSS脆弱性が出ることが確認できたのでした。HTTP302応答のリダイレクタCGIでウカウカしていると大変だよ?という例題が作成できたわけです。302応答でヨワヨワになる実例って最近あまり見ていないので、そのうちこの練習作品をネタにこの日記で発表しちゃおうかと考えています。既にベータが完成しているのですけれど、これからバージョンアップして、リダイレクト先の表現において『{』『}』『[』『]』『(』『)』を殺してしまおうと考えています。要は、JavaScriptの使用にキツイ制限を課すのです。それでも立派にXSSが成立して、stardust.s2.xrea.comのドメイン上に偽コンテンツを綺麗に仕込んでしまう感じにします。そうですね、出題編と解答編の2部作にしましょうか。ちゃれんじゃぁ募集にして。解答編では本来どうあるべきかウンチクを垂れて、それがしっかり守られている、水無月ばけらさんのセキュアな美しいCGIをご紹介というシメになるのかな?
XSS脆弱性関連で本日哀しかったこと
IPAさんから不受理の連絡がさっき来てました。 http://d.hatena.ne.jp/hoshikuzu/20060713#P20060713UNPATCHEDXSS の件。
不受理理由は、海外のサイトだからです〜。
う〜ん。世界的企業だから日本でも利用者がいるかもしれません。いや、いないのかな?確かに日本法人のサイトでは、同じサービスにXSS脆弱性がなさそうだし。あと先考えずに、フルディスクロージャしちゃいたい気分です。だって哀しいから。小奇麗な実証コードを作ってこの日記に張ることは可能なんですよね〜。海外のITペンパルにメルして彼|彼女から発表してもらおうかな?だって私、英語わからないから。ふるでぃすくろーじゃの方向でコーディネイトしてもらう感じで。
こういう計画ってつまらないしストレス感じるなぁ…