LoginSignup
1
1

More than 3 years have passed since last update.

セッション管理の不備

Posted at

セッション管理機構

webアプリケーションでは認証結果の情報を記憶しておく手段として、セッション管理機構がある。その代表的な方法がクッキーなどにセッションIDという識別子を記憶させ、このセッションIDをキーとしてサーバー側で情報を記録する方法。セッションIDをもっていればサーバー側は誰が問い合わせてきたのかがすぐにわかる為、毎回認証行為をする必要がなくなる。

セッションハイジャック

他人がセッションIDを悪用して成りすますこと。第三者がセッションIDを手に入れる方法は主に三つ
- セッションIDの推測
- セッションIDの盗み出し
- セッションIDの強制

セッションIDの推測

これはセッションIDの生成方法が予想しやすいのが原因です。例えばセッションIDが連番になっている、ユーザーIDや日時がセッションIDの元となっている、乱数に規則性があり複数のセッションIDを集めることで規則性を見つけ、結果セッションIDの推測に繋がる、オープンソースのソフトウェアだとセッションIDの生成ロジックがわかってしまい、解読される恐れがある。

セッションIDの盗み出し

セッションIDを外部から盗み出すこと。
- クッキー生成の際のセキュリティ上重要な属性であるDomain、Secure、HttpOnlyに不備があると漏洩してしまう
- ネットワーク的にセッションIDが盗聴される
- クロスサイト・スクリプティングなどアプリケーションの脆弱性により漏洩する
- PHPやブラウザなどプラットフォームの脆弱性による漏洩
- セッションIDをURLに保持してる場合ヘッダから漏洩する

セッションIDの強制

セッションIDを利用者のブラウザに設定することで、攻撃者は自分で設定したため利用者のセッションIDを知っているのと同じ状態になります。これをセッションIDの固定化攻撃という。

1
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
1
1