ASP.NET - 信任级别=完整?

Tod*_*ich 5 asp.net security sharepoint cas web-config

我最近加入了一家公司,在分析他们的环境时,我注意到SharePoint web.config的信任级别设置为Full.我知道这是一个绝对可怕的做法,希望stackoverflow社区可以帮助我概述这个决定的缺陷.

哦,看来这个决定是为了让开发人员在没有创建CAS策略的情况下将dll部署到Bin文件夹.叹.

只是想澄清并使事情变得更糟,我们还在为此Web应用程序部署第三方代码.

The*_*urf 1

缺陷?许多。但最糟糕的事情是直接来自 CAS 实用程序:

“......它允许完全访问您的计算机资源,例如文件系统或网络访问,可能在安全系统的控制之外运行。”

这意味着,授予完全信任的代码可以执行系统上的任何其他代码(托管或其他方式),可以通过网络调用任何计算机,可以在文件系统中执行任何操作(包括更改受限制文件(甚至操作系统文件)的权限)。

大多数网络程序员会说“这不是问题,这只是我的代码”,这很好......直到他们的代码中出现安全缺陷,允许攻击者使用它来做一些令人讨厌的事情。那么之前授予的完全信任就变得非常不幸了。

  • 不要将 .NET 的“完全信任”代码安全概念与 Windows 授权混淆。设置完全信任不会向 ASP.NET 辅助进程的帐户授予任何新权限。Windows 仍然会根据 DACL 等限制对文件系统的访问权限。 (7认同)
  • 呃...不。您是否认为来宾帐户可以简单地修改操作系统文件的权限并开始随机写入?您在使用 iusr 帐户的实践中遇到过问题吗? (2认同)