水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > 何でもエスケープすれば良いというものでは……

何でもエスケープすれば良いというものでは……

2008年7月6日(日曜日)

何でもエスケープすれば良いというものでは……

無料でWebアプリにありがちな脆弱性を調べて治す (www.atmarkit.co.jp)」。なんだこりゃ。

一般的によく狙われる文字は以下の表にまとめてあります。内容に変換するようにコードを変更すれば、対策可能です。

変換する文字変換後の文字
<&lt;
>&gt;
&#39;
&quot;
(スペース)&nbsp;

「一般的によく狙われる文字」という観点が意味不明な上に、スペースを &nbsp; に変換しているのが凄い。意味が違ってますけど……。

というかこれ、セキュリティのためではなくて、ユーザが入力したスペースを表示上も維持したくて変換しているのでは? 話の趣旨と全然違うと思うのですが。

今回のチャットアプリケーションでの対応はここまでにしますが、利用する言語やケースに応じて以下の文字についても対応することを検討した方がよいでしょう。

変換する文字変換後の文字
(&#40;
)&#41;
#&#35;
&&amp;

「ケースに応じて」と言われても……。変換する意味が分からない上に、& の変換が「ケースに応じて」で良いとされているという。まあ、スクリプトさえ動作しなければ HTML が invalid でも OK というスタンスなのでしょうが。

関連する話題: セキュリティ / クロスサイトスクリプティング脆弱性

最近の日記

関わった本など