最近我们实现了一个在App_Themes文件夹中动态生成LESS文件的功能。这是在应用程序启动时完成的。
这要求我们对App_Themes文件夹赋予@ ApplicationPoolIdentity @ write访问权限。
但是,我们的系统管理员不希望我们向@ ApplicationPoolIdentity @提供写访问权限。出于安全考虑。
这样做是不安全的吗?有哪些安全隐患?
答案 0 :(得分:1)
如果您的应用程序或ASP.NET或IIS本身存在任何远程执行代码漏洞,任何通过您的应用程序或Web服务器破坏您的系统的人都可能获得命令shell,并以例如
。DefaultAppPool
在您的服务器上
如果对文件夹有写入权限,则攻击者可以自己写入此文件夹。
例如,他们可以在example.com/App_Themes/index.html
在您的网站上托管自己的内容,或者他们可以上传一个允许佣金升级到管理员的漏洞。在后一种情况下,他们可能也需要可执行权限,除非他们可以在某种程度上让网络服务器执行它,例如通过请求删除的漏洞的URL。
当然,漏洞必须首先出现在这里。防止写访问也可以被视为"深度防御"但是如果您的应用程序需要这样做,那么它可能是可接受的风险。另一种方法是找到另一种方法来实现所需的功能。