WIN1@Codename

Codename (http://codename.win1.jp/)

アプリケーションプールのセキュリティーアカウントとASP.NET偽装(その2)

以前「アプリケーションプールのセキュリティーアカウントとASP.NET偽装」の記事を書きましたが、追加の覚え書きとして(その2)です。

まず、現在の実行アカウントを知りたい場合は、
Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Name)
で取得できます。

匿名認証のみ有効にした場合だと、 IIS APPPOOL\<サイト名> となります。
20105916090414

次に、基本認証のみ有効にした場合は、認証ダイアログが表示されるものの、匿名認証のみと同様に IIS APPPOOL\<サイト名> となります。
20100016100456
感覚的には、認証ダイアログで入力したアカウントが表示されるような気がするのですが、あくまでもアプリケーションプールの実行アカウントがサイトを動かしているということなので、こちらが正しい表示となります。

そこで、ASP.NET偽造を有効にすると、思惑通り認証に使用したアカウントが表示されます。
 20101016100437

では、こんな場合は?
匿名認証・ASP.NET偽装を有効にして、ASP.NET偽装の特定のユーザーを指定した場合。
この場合は、指定した特定ユーザーとなります。
 20101416100406

ではでは、これは??
基本認証・ASP.NET偽装を有効にして、ASP.NET偽装の特定のユーザーを指定した場合。
認証ダイアログにはASP.NET偽装の特定のユーザーに使用したアカウントとは別のものを使用します。
こちらは、ASP.NET偽装の特定のユーザーとなりました。
20102316100422 20102216100403

 

ちなみに、ASP.NET偽装の特定のユーザー の設定内容は web.config の
<identity impersonate="true" userName="" password="" />
セクションに連動しているので、IISマネージャーの設定内容により自動的にweb.configが書きかえれれます。

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://codename2010.blog11.fc2.com/tb.php/132-fa17f1ca
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

FC2ブログ