水無月ばけらのえび日記

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

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

2008年7月6日(日曜日)

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

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

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

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

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

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

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

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

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

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

最近の日記

関わった本など

インクルーシブHTML+CSS & JavaScript 多様なユーザーニーズに応えるフロントエンドデザインパターンデザイニングWebアクセシビリティ - アクセシブルな設計やコンテンツ制作のアプローチコーディングWebアクセシビリティ - WAI-ARIAで実現するマルチデバイス環境のWebアプリケーション体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践ウェブの仕事力が上がる標準ガイドブック 5 WebプログラミングWeb Site Expert #13

その他サイト