体系的に学ぶ 安全なWebアプリケーションの作り方

  • 投稿日:
  • by
  • カテゴリ:
「体系的に学ぶ 安全なWebアプリケーションの作り方」を読了。
1ヶ月以上かかっちゃいましたね。

今まで、ネット上で逐次話題に上がってきた脆弱性を都度勉強していたわけですが、
それをひとまとめにしてあるのがこの本のいいところ。
「体系的に」というのがいいです。

もうひとつ、この本ならではの特徴はごく簡単な(基本的な)攻撃方法が
実際にコードとして書かれていること、そしてその対策方法も書かれていることです。
(攻撃方法にXSSでの画面の書き換えがあったのはいいですね。)

この本以前に数冊、Webアプリケーションのセキュリティ本を読んでいますが、
言語などを特定していないこともあり、具体的な対策方法が書かれず、
自分で採った対策が十分なものかどうかの判断に苦労した記憶があります。

あとは、やはり個々の脆弱性を個々のまま情報収集していると必ず漏れが
出てくるということです。
知らなかったことや十分でなかったことがこの本で知りえたわけです。

たとえば、正規表現。
 \A \z というのがあるということや文字クラス \d \w は全角文字にも
マッチするということを知りました。
(もっとも入力値から改行コードを強制的に排除してしまう仕様で作っちゃうことが
多いため、 \A \z でなくとも ^ $ のままでも問題ないことが多いわけですが。)

ひとつだけ気になったのは5章の「ログアウト」の項。
セキュリティ的に影響がまったくないのかもしれませんが、
Cookieのクリアはしなくていいんだろうかという点。
新規セッションとなる場合でも、以前のセッションIDがCookieで
送られてくることになるので、気持ち悪いからクリアしておこうと、自分は
セッションクリアのタイミングでCookieの破棄をする処理を入れてます。

とにもかくにも、復習もかねて、勉強になりました。