水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > 2003年のえび日記 > 2003年6月 > 2003年6月23日(月曜日)

2003年6月23日(月曜日)

XSS大王・さらなるホゥル

「XSS大王」に対するコメントで y-Aki さんに指摘されて気づきましたが、Webフォーラムの Cookie には domain=.nifty.com という指定のものがあるのですね。

この Cookie は nifty.com ドメインのどこからでも読むことができてしまいます。その問題点については「SecurIT-Advisory: 2001-001 クロスサイトスクリプティング脆弱性蔓延の現状と解決策 III-7. 万が一に備えて:Cookieの有効ドメイン範囲を最小限にする (securit.etl.go.jp)」にありますが、Web フォーラムのケースでは、そこに書かれている以上に深刻な結果となります。なぜなら、このドメインの範囲には hpcgi*.nifty.com が含まれるからです。

※* は任意の自然数。実際には hpcgi1.nifty.com とか hpcgi2.nifty.com といった具合になります。

hpcgi*.nifty.com というのは、ニフティ@nifty のユーザ CGI のスペースです。つまり、ニフティ@nifty の会員であれば誰でも、hpcgi*.nifty.com に任意の CGI を置くことができます。当然、CGI には Cookie を読み取る機能を持たせることができますから、普通に Cookie を読み取ることができるのです。

実際、「Cookie操作装置 (hpcgi1.nifty.com)」という CGI を設置し、Web フォーラムログイン後にアクセスしてみたところ、Cookie の値が表示されました。実際にはこのような露骨なものである必要は全くないわけで、掲示板のスクリプトが背後でひっそり Cookie の値を取るとか、アクセスカウンターのようなものに仕込むとか、Webバグにするといった方法で、ユーザに気づかれないように Cookie の値を盗み出すことが可能です。

これはもはや、クロスサイトスクリプティング脆弱性があるとかないとかいう問題ではありません。Webフォーラムにログイン後、ブラウザを閉じずにそのまま別のサイトにアクセスすると、それだけで漏洩の危険があります。たとえば、Webフォーラムに書き込まれた URL をブラウザの URL 窓にコピーしてアクセスしても漏洩します。URL が hpcgi*.nifty.com でなくても、hpcgi*.nifty.com にリダイレクトしているかもしれませんし、hpcgi*.nifty.com の画像を参照しているだけで十分です。

はっきり言って、ユーザに自衛手段はありません。Cookie を無効にすれば漏洩は防げるでしょう。ただしその場合、Webフォーラムにログインすることもできなくなります。

困ったことに、システム側の対処も困難です。これは「nifty.com 以下全域で有効な Cookie」が必要になるようなシステム設計そのものの欠陥ですが、サイトをまたがってログイン情報を有効にするには他に方法がありません。対処するとなると、サイトのドメイン名を変更する必要があります。これは容易ではありません。

※でもニフティってころころドメイン名を変えたりするイメージがあります。意外に簡単にできたりするのかもしれません。

そんなわけで、処置なしです。結論としては、Webフォーラムには一切ログインしない、というのが唯一の対処となるでしょう。会員専用のサービスは全く利用できなくなりますが、オープンなサービスなら利用できます。この機会に「全掲示板をオープンにしてくれ」とマネジャーに要望を出してみるのも良いかも知れません。

関連する話題: Web / セキュリティ / ニフティ / XSS大王

XSS大王その後

XSS大王の件ですが、Webフォーラムのトップ (com.nifty.com)に、こんなアナウンスが出ていますね。

いつもWeb フォーラムをご利用いただきましてありがとうございます。

本日(6/20)より「掲示板でのタグの使用」を一時的に休止とさせていただきます。

上記機能を利用すると、自由にhtmlタグを記述することが可能ですが、悪意をもって利用した場合、発言者のやり方によっては、掲示板利用者に被害がおよぶ可能性があるため、対策を行うことといたしました。

対策を行う間、機能を一時的に休止させていただきます。ご迷惑をおかけし、申し訳ございません。

なお、既に登録されている発言でタグが利用されていた場合には、タグがそのまま表示されることとなりますのでご留意ください。

以上、@nifty:forum:forum@nifty インフォメーション より

「善意ある方」の情報によると、20日の 19:00 時点でこのような対処がなされたのだとか。思ったより素早い対応で、これは高く評価して良いと思います。

同時にログインフォームの XSS も対策されていますので、ここで公開していた exploit コードは通らなくなりました。……が、実は別の exploit だと通ったりするので、抜本的な対策が行われたわけではないようです。

関連する話題: Web / セキュリティ / ニフティ / XSS大王

最近の日記

関わった本など