LoginSignup
3
1

More than 5 years have passed since last update.

体系的 webアプリケーションの作り方

Posted at

クッキー出力にまつわる脆弱性

以下の2種類に分別される
①クッキーを利用すべきでない目的でクッキーを使っている
②クッキーの出力方法に問題がある

①クッキーにデータを保存しないほうが良い理由

スクリーンショット 2015-07-16 09.28.44.png

➡クッキーでできてセッション変数でできないことは情報の寿命の制御, 異なるサーバーとの情報共有 だけです。 なので通常はセッション変数を利用すべき。

クッキーのセキュア属性不備

影響 ・・HTTPS通信を利用し、かつ認証のあるページすべて (これらはなりすましによって)
対策・・・クッキーにセキュア属性をつける、セッションIDとは別にセキュア属性付のクッキーとして
トークンを発行し、ページごとにトークンを確認する。

トークンにより安全性が確保できる理由

①トークンは認証成功時に一度だけサーバーから出力される
②トークンはHTTPSのページで生成される(サーバー➡ブラウザ)
③トークンは確実に暗号化されてブラウザから送信(ブラウザ➡サーバー)
④HTTPSのページを閲覧するにはトークンが必須

メール送信の問題

①メールヘッダ・インジェクション脆弱性
➡メールメッセージの宛先や件名などヘッダフィールドに改行を挿入することにより、新たなフィールドを追加したり、本文を改ざんすること

対策 外部からのパラメータをメールヘッダに含ませないようにする
②hiddenパラメータによる宛先保持
➡hiddenパラメータの送信先アドレスを任意アドレスに変更することにより、迷惑メールの送信に悪用される
③メールサーバーによる第三者中継
➡メールサーバーの設定に問題があると発信者でもない、受信者でもない第三者を中継する可能性がある。http://www.rbl.jp/

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1