2009年10月13日火曜日

アンチスパムアプライアンスに潜む脆弱性

監視サーバに潜む脆弱性 に続いて、○○に潜む脆弱性シリーズ2つ目。
シリーズ化=続かないフラグ でもあるがまあよかろう。
 
 

さて、アンチスパムのアプライアンスなどがあるじゃないですか、中でもスパムメールを隔離する奴に限った話になりますが...
 

例によってアンチスパムの恩恵を受けるユーザーさんが隔離されたメールを確認するのは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メーラとかもそうですね)には気をつけておかないといけませんね。
 

意外とこういうのは性善説というか、「クライアント嘘付かない」みたいな錯覚に陥るところだと思います。