JSON はみんなが思ってるほど安全ではない
del.icio.us 経由で今日読んだ記事。
- JSON is not as safe as people think it is - Joe Walker's Blog
- http://getahead.org/blog/joe/2007/03/05/ json_is_not_as_safe_as_people_think_it_is.html
script による CSRF と JavaScript のハック的手法を組み合わせることで、たとえログイン必須にしている JSON データであっても盗まれるかもしれない、という話。
たとえば、
<script type='text/javascript' src='http://example.com/jsonservice'></script>
という script で JSON を読み込めたとする。
このままだと読み込んだ JSON のデータが評価されるだけで、どんなコードも実行されないのでそれほど問題にはならない (評価された JSON のデータはどんな変数にも代入されてないので参照できない)。
しかし、元記事に紹介されている方法で、たとえば Array のコンストラクタを再定義してやると、JSON が評価されるときに 任意のコード(どこかにデータを送信するなど)を実行できてしまう。
Google のリダイレクタ
社内の開発合宿行ったり、そこで風邪もらったりしているうちに、すっかりブログの更新から遠のいてしまった。ぼちぼち復活。
2ちゃんねるではリファラ隠しのために、いわゆる ttp リンクや http://ime.nu/ などのリダイレクタが利用されている。リダイレクタという名前は勝手に使ってるだけで、正式なものか分からないけど、URL の末尾やパラメータに別の URL を指定すると、その URL にリダイレクトしてくれるページのこと。
もっとも、http://ime.nu/ のように、あいだに警告ページを挟んでリンクを表示する(実際にはリダイレクトしない)ページもリダイレクタと呼んでいる。
Google にも、このリダイレクタがあるのを、今日はじめて知った。
http://www.google.com/url?sa=D&q=http://www.yahoo.co.jp/
上の例は http://www.yahoo.co.jp/ に飛ばすためのリンク。
サイトに置いてある PDF が XSS に利用される?
サイト上に PDF が置いてある場合、それを XSS に利用される可能性があるらしい。情報源は Universal XSS with PDF files: highly dangerous というブログ記事(元となった ML への投稿は [WEB SECURITY] Universal XSS with PDF files: highly dangerous)。
これは PDF ファイルへのリンクの末尾に JavaScript のコードを追加しておくことで、ユーザーがリンクをクリックしたときに、任意のコードを実行できる、というもの。Acrobat Reader のバージョン 7 以前と Firefox や IE の組み合わせで再現するようだ(念のため、Mac の Preview でも試してみたが、この問題は発生しなかった)。
Adobe は修正版の ver. 7 をリリース予定。