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