シリーズ化=続かないフラグ でもあるがまあよかろう。
さて、アンチスパムのアプライアンスなどがあるじゃないですか、中でもスパムメールを隔離する奴に限った話になりますが...
例によってアンチスパムの恩恵を受けるユーザーさんが隔離されたメールを確認するのはWEBブラウザを利用して、ということになります。
で、確認に行くと下表のように表示されるかと。
送信日時 | 送信者アドレス | 件名 | 本体ダウンロード |
2009/10/12 20:00 | spamer-desuyo@example.com | おクスリいらんかえ | メール本文を見るならこちら↓ |
皆まで言わなくとも判りそうですが一応、このアプライアンスは、スパムメールから「送信日時」,「送信者アドレス」,「件名」を分解してDBに登録します。
当然、件名がこんなだったら↓
Subject: おクスリ<script>alert(\"XSS\")\;</script>
隔離メールを確認に行くとこうなりますね。
送信日時 | 送信者アドレス | 件名 | 本体ダウンロード |
2009/10/12 20:00 | spamer-desuyo@example.com | おクスリ<script>alert(\"XSS\")\;</script> | メール本文を見るならこちら↓ |
無事に表示されるだけで済むでしょうか。
これなんか特に、SQLが通ってはいけないところですね。
まあ普通に製品として世に出ているもので、こんな脆弱性は残していないでしょうが、ちょっと自分で似たような仕組みを作る際(メールアーカイブとかWEBメーラとかもそうですね)には気をつけておかないといけませんね。
意外とこういうのは性善説というか、「クライアント嘘付かない」みたいな錯覚に陥るところだと思います。