【问题标题】:Any good security encoding libraries for .NET out there?有什么好的 .NET 安全编码库吗?
【发布时间】:2010-10-16 23:24:24
【问题描述】:

一直在阅读各种注入型攻击,似乎摆脱这些漏洞的最佳方法是对所有用户输入进行编码,以删除/替换某些字符( ; 等)。

我在这里最好的选择是什么?有没有很好的图书馆可以帮助我解决这个问题?或者可以帮助我发现潜在漏洞的东西? - 还是正则表达式是我最好的选择? :)

非常感谢

【问题讨论】:

  • 感谢您的链接。在发布ofc之前搜索过,但没有找到:)
  • 这不是一个骗局,尽管这个问题是关于根据不同的输出位置删除您正在寻找的正确编码数据的东西,而另一个主题的答案实际上并不总是安全的。所以你也不应该依赖那个答案。

标签: .net security encoding code-injection


【解决方案1】:

最近我一直在研究 ESAPI.NET,该项目似乎不完整并且可能不活跃——尤其是与 java 包相比。

Anti-XSS 只涵盖了 ESAPI 范围的一个子集,事实上,ESAPI.NET 使用 AntiXSS(尽管不是最新的)进行编码。

任何证明 ESAPI.NET 有用性的 cmets 都会有所帮助。

【讨论】:

    【解决方案2】:

    您有 3 个不错的跨站点脚本保护选择:

    我会按这个顺序试试。

    【讨论】:

      【解决方案3】:

      ASP.NET 中的Page 实例中的Server(可通过Pagethis 访问)提供了一个HtmlEncode() 方法,足以防止XSS 攻击。

      默认情况下,在 web.config 或页面指令中没有明确允许的情况下,ASP.NET 将拒绝任何带有错误页面的可疑输入。

      【讨论】:

        【解决方案4】:

        OWASP AntisamyOWASP ESAPI

        其中,我会投票支持 ESAPI,因为我使用 Java 版本的 ESAPI 来防止 XSS 攻击。请记住,数据的纯 HTML 编码不会阻止 XSS。 The context of the data is important as well - 如果您动态生成 JavaScript 并将其注入到服务器的响应中,则必须转义它。

        【讨论】:

          【解决方案5】:

          看看AntiXSS library

          【讨论】:

          • 哇 .. 看起来棒极了 :S
          猜你喜欢
          • 2023-03-22
          • 2010-09-14
          • 1970-01-01
          • 2011-10-28
          • 2023-03-26
          • 1970-01-01
          • 1970-01-01
          • 2012-08-18
          • 1970-01-01
          相关资源
          最近更新 更多