問題
- あるユーザーのセッションには、それぞれのユーザーのJSessionIDを知ることでアクセスすることができます。
-
参考になるステップです。
1) 2人のユーザー(例:ユーザーAとユーザーB)
2) ユーザ「A」がシステムにログインする
3) ユーザー "A "はJession IDを1つ(0D13262EDECBA19E93D5A753FC34E03A)持っていて、自分のJSessionIDをユーザー "B "に共有しています。
4) 既にログインしているユーザBのJsession IDをAユーザのJsession IDに置き換える
5) ブラウザでユーザーのセッションにアクセスします。
環境への配慮
- Liferay 7.x
決議
- セキュリティ上の問題ではなく、むしろユーザーの一人が意図的に自分の機密情報を他人に共有していたのです。 これを利用して、ブラウザは間違いなくJessionIDを使ってそれぞれのユーザーのセッションにアクセスできるようになります。 ブラウザがユーザのJsessionIDを認識していない場合、ユーザセッションにはアクセスできません。
追加情報
- 別の例を取ると、ユーザーAはユーザーBと彼のインターネットバンキングの詳細を共有し、彼はインターネットバンキングにログインすることができた場合、これはAのインターネットバンキングは、ユーザーBによってハッキングされたと考えることはできません、むしろ彼はちょうどユーザーAから与えられた情報を使用していますが、それは機密であるべきであるため、彼はすべきではありません。