#クッキー出力にまつわる脆弱性
以下の2種類に分別される
①クッキーを利用すべきでない目的でクッキーを使っている
②クッキーの出力方法に問題がある
①クッキーにデータを保存しないほうが良い理由
➡クッキーでできてセッション変数でできないことは情報の寿命の制御, 異なるサーバーとの情報共有 だけです。 なので通常はセッション変数を利用すべき。
#クッキーのセキュア属性不備
影響 ・・HTTPS通信を利用し、かつ認証のあるページすべて (これらはなりすましによって)
対策・・・クッキーにセキュア属性をつける、セッションIDとは別にセキュア属性付のクッキーとして
トークンを発行し、ページごとにトークンを確認する。
トークンにより安全性が確保できる理由
①トークンは認証成功時に一度だけサーバーから出力される
②トークンはHTTPSのページで生成される(サーバー➡ブラウザ)
③トークンは確実に暗号化されてブラウザから送信(ブラウザ➡サーバー)
④HTTPSのページを閲覧するにはトークンが必須
#メール送信の問題
①メールヘッダ・インジェクション脆弱性
➡メールメッセージの宛先や件名などヘッダフィールドに改行を挿入することにより、新たなフィールドを追加したり、本文を改ざんすること
対策 外部からのパラメータをメールヘッダに含ませないようにする
②hiddenパラメータによる宛先保持
➡hiddenパラメータの送信先アドレスを任意アドレスに変更することにより、迷惑メールの送信に悪用される
③メールサーバーによる第三者中継
➡メールサーバーの設定に問題があると発信者でもない、受信者でもない第三者を中継する可能性がある。http://www.rbl.jp/