Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

セッション管理の不備

More than 1 year has passed since last update.

セッション管理機構

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の固定化攻撃という。

sumin
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away