6

統合Windows認証を使用するASP.NETWebアプリでは、セッションはWindows IDに関連付けられていますか?
つまり、(IWAを使用して)アプリにログインし、アプリがセッションに「もの」を保存している場合、このものはセッションIDのみでアクセスできますか?たとえば、悪意のある誰かが私のセッションIDを盗んだが、私の資格情報を盗んだ場合、その人は私のセッションのものにアクセスできますか?または、このセッションは同じIDにのみアクセス可能であり、アクセスするにはセッションIDとWindows IDの 両方が必要ですか?

4

1 に答える 1

4

すばらしい質問です。この回答を書く前に、確認のためにテストを実行しました。

私が「人物A」であり、あなたが「人物B」である場合、これが発生する必要があります。

  • 個人AはIWAを使用してWebサイトにログインし、セッションIDが割り当てられます(たとえば、URLで)
  • 人物Bも自分自身としてWebサイトにログインします(したがって、認証を受ける必要があります)
  • 個人Aは個人Bにセッション識別子を含むURLリンクを送信します
  • 人物Bがそのリンクをクリックすると、人物Aのセッションの詳細を使用して、Webサイトに直接移動します。

人物Bは、人物Aのセッションの詳細を使用している場合でも、Webサイトによって「人物B」として認識されることに注意してください。したがって、ユーザー権限などをチェックするコードがある場合でも、それらのチェックは個人Bのコンテキストで実行されます。

これは大きな問題のように聞こえるかもしれませんが、プログラマーが不注意でない限り、それほど長くはありません。たとえば、上記のテストで人物Bが得た唯一の効果は、権限チェックをライブで行うため(つまり、キャッシュされないため)、人物Aが設定した画面とグリッドのレイアウトを継承したことです。機密データをセッションに保存する場合は問題になる可能性がありますが、それを示すフィールドが表示されるたびにアクセス許可がチェックされていない場合にのみ問題になります。また、Aさんのセッションが期限切れになっていない場合にのみ問題になります。

于 2009-11-17T01:53:36.247 に答える