gpt4 book ai didi

c# - 强化和 AntiXSS

转载 作者:太空狗 更新时间:2023-10-30 00:12:40 30 4
gpt4 key购买 nike

我的公司要求我们的 ASP.NET 代码在发布代码之前通过 Fortify 360 扫描。我们到处都使用 AntiXSS 来清理 HTML 输出。我们还验证输入。不幸的是,他们最近更改了 Fortify 使用的"template",现在它将我们所有的 AntiXSS 调用标记为“验证不佳”。这些调用正在执行类似 AntiXSS.HTMLEncode(sEmailAddress) 的操作。

有人确切地知道什么可以满足 Fortify 吗?它标记的很多内容都是输出,其中值来自数据库而不是来自用户,所以如果 HTMLEncode 不够安全,我们不知道是什么!

最佳答案

我是 Fortify 安全研究小组的成员,对于这个问题给您造成的困惑,我深表歉意。我们在提出此类问题方面做得不是很好。我认为部分问题在于类别名称——我们并不是要说验证机制有任何问题,只是我们无法判断它是否适合这种情况。

换句话说,我们不知道您的特定上下文的正确验证是什么。出于这个原因,我们不承认任何 HTML 编码函数可以开箱即用地验证 XSS,即使是 Microsoft 的 AntiXSS 库中的函数。

至于什么是正确的解决方案,如果您使用 HtmlEncode 将用户名输出到 HTML 页面的正文,那么您的原始代码就可以了。如果在 URL 中使用编码的用户名,它可能容易受到 XSS 攻击。在 Fortify,当我们在自己的代码中发现类似问题时,如果验证与上下文匹配,我们将其标记为“不是问题”。

我们意识到围绕这些问题的问题不断调整我们的规则,使它们更加精确和易于理解。我们每三个月发布一次新规则,并希望在即将发布的版本中进行一些更改。对于第 4 季度,我们计划将问题分为验证不足(用于黑名单编码和其他弱验证方案)和上下文敏感验证(您看到的问题类型)。如果我们能提供更多帮助,请告诉我们。

(OWASP 解释为什么 HTML 编码不能解决所有问题的链接: http://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet#Why_Can.27t_I_Just_HTML_Entity_Encode_Untrusted_Data.3F )

关于c# - 强化和 AntiXSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3256425/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com