wasbook reading #2
「体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践」読書会の第2回。
今回読んだのは以下の範囲。
- 4章 Webアプリケーションの機能別に見るセキュリティバグ
- Webアプリケーションの機能と脆弱性の対応
- 入力処理とセキュリティ
- 表示処理に伴う問題
4章 Webアプリケーションの機能別に見るセキュリティバグ
入力処理とセキュリティ
文字エンコーディングのチェックは、そもそも文字化けで気付きそう。
バイナリセーフとかヌルバイト攻撃って聞いたことがなかった。Javaにもあるのかな?→ぐぐったけどでてこない。なぞ。
ヌルバイト→%00
正規表現の \a \z :^contrl: (JavaやPerlだと \P{CC}) は使ったことがなかった。ほんとうに危険かどうかも含めて、試してみたい。
表示処理に伴う問題
クロスサイトスクリプティング(XSS)のターン。
- 脆弱なサイトでスクリプトが実行される
- スクリプトでクッキーのセッションIDを取得し、GETのパラメータなどにセッションIDをつけて、情報収集ページに遷移する(window.locationとかで)
- セッションIDいただきます
セッションID盗んで、どうやってなりすますんだろう?→セッションハイジャックのところで書いてありそう。
持続型だと、脆弱なサイトを表示した時点でスクリプトが動いてしまう。罠サイトいらず。
いろいろなXSSがあって、いろいろな対策がある。一部を抜粋する。正しい情報はちゃんと本を読みましょう。