私の歴史と今

振り返ると恥ずかしくなるのが私の歴史。だけどそのときは真面目に書いていた訳でね。そんな今の私を書いていく。

ハッキング研修

木〜金曜の2日間、ハッキングの研修を受けてきた。驚いたなー。世の中のサイトのほとんどに脆弱性があると言われても納得できる。私はWEBプログラマだから、XSSSQLインジェクション対策をしてきたつもりだけど、本当に堅牢なシステムを構築してきたのか不安になってきた。結局理解できないのが、他のエンコーディングによる攻撃。UTF-8のサイトがUTF-8で堅牢であってもUTF-7での攻撃には脆弱なんてことはあるのか?普通、ContentTypeがUTF-8ならリクエストもUTF-8だよなー。UTF-7でリクエストすることなんてあるのかな。でも可能だと。じゃあその場合どうなるんだ?Httpヘッダーでcharset=UTF-7になるんだろうけど、サーバ側でUTF-7で処理すればいいんだよな。どんな文字コードでリクエストされたとしても、同じなんじゃないかな。うーむ。

こんなの見つけた。

2007年の内容だけど勉強になった。
そろそろ UTF-7 について一言いっとくか - 葉っぱ日記
条件として、文字エンコーディングを正確に設定できていない場合に起きるのか。その場合、IEは内容を調査してUTF-7と判断しちゃうと。ということは、手順は次のようになる。

    • UTF-8のサイトだけど文字エンコーディングが不正確なサイトを探す
    • そのサイトに対してUTF-7エンコーディングしたコードをUTF-8で書き込む('や<>は使われていないので入力チェックにはひっかからない)
    • それを閲覧した被害者のIE上ではUTF-7で表示されるので(※)コードが実行される。→XSS発生

IEUTF-7で判断するっていっても100%じゃないよな。それ以外の部分もあるのだし。