<前回のお話> XSSの正体は、タグに使用される特定の記号を本来とは異なる個所に用いることで、サーバの誤認識を誘発することと知ったわかばちゃん、“難しくない”というその対策とは!? そして気になる2人のカンケイは!? 読者100万人を巻き込んだ、衝撃と感動の一大スペクタクルがいまここに完結!
登場人物紹介
- はまちちゃん
- さわやか笑顔のスーパーハカー。時折見せる憂いを帯びた瞳の奥に映っているのは、きっとあなたの脆弱性。
- わかばちゃん
- メガネがかわいいネット大好き14歳。プログラムはちんぷんかんぷんだけど、
乙女の勘で今日もガンバル。
まとめ
「おまじない」の中に、「属性部分に外部から入力された動的な文字は埋め込まない」とありますが、Webアプリを作るうえでどうしてもフォームのvalueに埋め込みたいときもあります。そのような場合は属性値を必ずエスケープしておき、クォートでくくるようにしましょう。また、「JavaScript内に埋め込むとエスケープが複雑」とあるのは、たとえばバックスラッシュがJavaScript内でどのような働きをするのか考えてみるとよいかもしれません。どうしてもJavaScript内で外部入力された動的文字を使いたい場合は、HTML側でhidden指定した要素のvalueに埋め込んでおき、それを取得するといった方法が安全でしょう。
さて、セキュリティ講座はこれでおしまい…。
だが続く。
青春編
まだだ、まだ終わらんよ!!
完結編
ちゃん ちゃん!
1年間、おつきあいいただき、まことにありがとうございました。本誌Vol.50からは…… 意外なところで会えるかも?