簡體   English   中英

IIS和ASP.NET模擬

[英]IIS and ASP.NET impersonation

如果用戶訪問啟用模擬功能.net Web應用程序,將會面臨什么風險?

ASP.NET的模擬級別是什么?

這是模擬級別的文檔。

我可以創建一個網站,然后誘使系統管理員打開該網站並以他的名義做一些壞事(例如將我添加到本地系統管理員中。我可以部署Web應用程序,但我不是管理員)? 這種模仿的界限是什么? 在文檔中找不到任何確切的描述。

首先,您需要了解什么是ASP.NET 模擬 除了給定的msdn定義外,ASP.Net模擬還可以使用客戶端asp.net應用程序獲取計算機上Active Directory登錄用戶的用戶信息。

如您所提到的,有不同的模擬級別 。但是在開始之前,您需要了解ASP.Net是托管環境 它存在於IIS應用程序池的范圍內。 因此,任何應用程序的能力都僅限於托管環境中的Web應用程序可以在服務器上執行的操作。

要直接回答您的問題,請注意以下幾點:

  • 如果您可以托管具有ASP.impersonation的IIS應用程序,則您應該是該計算機的管理員(非管理員用戶甚至無法打開IIS)

  • 任何IIS應用程序都不能執行創建,刪除用戶,更改用戶權限之類的管理任務,而無需調用任何本機應用程序來操縱活動目錄(需要配置並且需要完成許多工作,非管理員無法想到)。 這幾乎是不可能的,即使使用某些第三方非托管代碼以某種方式可能實現,然后非管理員用戶也無法在不直接訪問服務器的情況下在服務器上安裝這些工具/ SDK。

  • ASP.Net模擬主要用於活動目錄用戶,而Active Directory存在於VPN或Office Premises中受安全管理的環境中。 您需要成為Active Directory用戶才能訪問模擬。 即使您以某種方式做到了這一點(沒有管理服務器的訪問權限也無法實現),然后審核/系統日志/網絡日志將發現誰是內部人員的罪魁禍首,所以在組織內部(除了被解雇之外)還意味着什么? 。

仍然您認為模仿asp.net是不安全的,您可以提出問題。 :)

更新評論


您上面獲得的模擬級別鏈接適用於完全信任運行的桌面/ Windows應用程序。 ASP.net應用程序模擬只是一種方式來獲得的Active Directory用戶的身份與一些定義的屬性,它主要用於身份驗證和授權。 我再次重申,ASP.net是應用程序池中的托管應用程序,它只能執行授權給您托管應用程序的帳戶的操作,並且過於本地化/管理性的操作(如創建或修改Active Directory)如果沒有調用就無法進行用戶訪問另一個已經受信任並已安裝在該計算機上的SDK。

綜上所述,可以在授予目錄訪問Web App的位置上創建文件或刪除文件之類的操作(如果在部署用於托管的用戶(未登錄)時存在權限,則在網絡上也可以),但可以刪除服務器上的所有內容或執行管理如果沒有已經安裝的受信任非托管軟件的幫助,則無法通過登錄ASP.net webapp的管理員模擬登錄來完成AD用戶創建/修改之類的任務。

昨天我和系統管理員一起使用了Palaver。 如果用戶通過kerberos認證,則Web應用程序可能代表該用戶訪問其他服務器上的資源(代理)。 Kerberos約束委派白名單一起使用

如果我的應用程序需要使用登錄用戶的憑據讀取文件共享上的文件,則安全管理員必須添加一個條目,以便我的應用程序(應用程序池的標識)以登錄用戶的名義訪問該文件服務器。 我無法創建僅由於老板正在訪問我的Web應用程序而讀取老板的所有電子郵件的惡意軟件應用程序。

請參閱https://blogs.technet.microsoft.com/pie/2017/06/30/credential-theft-made-easy-with-kerberos-delegation/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM