1

最近,我们一直在讨论对来自受信任源(如 Active Directory)的输出数据进行编码的优点。我们有一个 Web 应用程序,它显示从 AD 查询的用户列表,并允许以各种方式对其进行管理。论据认为,如果来自 AD 的数据不是 Html 编码的,那么如果您有权访问域控制器,则可以注入脚本并对站点执行 XSS 样式攻击;例如,通过添加脚本作为 AD 用户的名字。

两种思想流派(1 用于不验证,2 用于验证)似乎是:

  1. 如果您可以访问 DC,则可以做的比将代码注入显示您已经访问的信息的站点要糟糕得多。您也可以直接查看信息。那么为什么要打扰呢?
  2. 如果您是域管理员,您可以制造这种攻击,从而创建一个后门,即使您离开公司也可以访问信息。

我认为手头的问题确实是一个更普遍的问题,除了防范恶意输入的常见做法之外,您是否需要防范(并因此编码)来自受信任来源的输出数据。

4

1 回答 1

0

始终进行输出编码是一种很好的做法。你已经用 MVC 标记了这个问题,所以我假设你的 Web 应用程序是一个 MVC 应用程序。如果您使用的是 Razor 视图,则会自动对输出进行编码。更多细节在这里

于 2013-06-12T22:02:36.393 回答