IIS和ASP.NET模拟

yonexbat

如果用户访问启用模拟功能.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用户创建/修改之类的任务。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章