Webアプリセキュリティ対策入門という本を読んでいるが…

Webアプリセキュリティ対策入門 ~あなたのサイトは大丈夫?
「Webアプリセキュリティ対策入門」
大垣靖男というPHPの専門家らしい人の書いたこの本、色々な攻撃手法が挙げられていて面白そうなので買ってみた。まだ途中までしか読んでないんだけど、ちょっと突っ込みどころがある。

CHAPTER4-1:クロスサイトスクリプティングの「リスク」としてクッキー漏洩しかないかのような書き方をしている。これは文章表現がまずいというレベルではなく、

一方HTTPセッション管理を行っていないWebサイトでは重大な問題ではありません。(P48)
とまで言い切っているので著者の確信なんだろう。そして、著者のこの認識は間違っていると思うよ。
クロスサイトスクリプティングによってJavaScript(VBSもあるけど)で可能なことは何でも実行されてしまう危険性があるわけ。たとえば、フィールドに入力した内容がどこか知らないところに送信されてしまったり、画面の内容が改ざんされて表示されたりとか、できるんじゃないかなあ。この具体例は大雑把な考察だからもっと詰められると思うけど、少なくとも、クッキーの漏洩だけがリスクだと言うのは問題を正しく捉えられていない。

  • 入力値チェックと出力時のエスケープについて

今、CHAPTER4の核攻撃手法について読み進めているところだが、この著者ことあるごとに「入力値のチェックをしろ」と太字で書いている。これが気持ち悪い。と言うのも、本来XSSSQLインジェクションを防止する方法の基本は「出力先に応じたエスケープ」であるからだ。
入力値のチェックは本来的にはアプリケーションの機能要件である。その副作用で偶然セキュリティ対策の漏れを救うことはあると思うし、セキュアな実装に傾けるという意味から入力値チェックを行うのも良いことだと思う。しかし、「出力先に応じたエスケープ」という基本の方がよっぽど大事だし、入門を謳う本ではこの基本を強調するべきじゃないのかな。変なところにこだわりを見せて分かりにくくなっている印象。

読む気が萎えてきてるが、がんばって後ろの方の章も読めたら、最終的なレビューを書くかも、書かないかも。