我看到Web保护库(WPL)带有2种不同的选项:


安全运行引擎(SRE)
AntiXSS库


第一个看起来很棒,因为不需要任何代码,它是一个HTTPModule。第二个要求在代码上手动添加转义逻辑。

尽管我提到了这一优势,但SRE并不是很受欢迎,我想知道为什么。该库存在任何已知问题,或者使用我没有看到的使用AntiXSS的巨大优势?

谢谢!

最佳答案

我在SRE中看到的最大缺陷是,在我看来,它依赖于“列入黑名单”行为。例如,它尝试检测SQL语句以提供SQL注入保护。仅出于您必须知道所有潜在有害输入才能提供100%保护的事实,黑名单才是弱项。

http://www.owasp.org/index.php/Data_Validation#Data_Validation_Strategies

这并不是说我在SRE中看不到任何价值。我认为这似乎是您军械库中拥有的一个不错的工具,但这将被认为是额外的防御层。

我看到使用此库的唯一另一个缺点是,它可能会鼓励编码人员懒于学习如何保护其应用程序。仅仅依靠任何单个工具来提供保护(或者甚至是一堆工具来提供保护)都是愚蠢的。对于程序员而言,很容易无意中引入阻碍最佳工具的安全漏洞。因此,一个关心安全性的优秀开发人员将不会依赖这种工具,而是无论如何都会逃避,而不是信任一种工具来为他们做。

换句话说,这看起来像是一个很好的工具,但不能以自己采取预防措施为代价。而且,已经知道如何防御常见Web攻击的程序员通常足够聪明,知道不仅仅依赖工具。它们也可能已经进行了防御性的编码,如果您已经在防范SQL注入,那么添加一个执行相同操作的模块似乎是多余的。我敢猜测这是缺乏人气的原因。

另一个注意事项是,此方法提供的功能类似于在良好的Web应用程序防火墙(WAF)中发现的功能。它也具有相同的基本基本缺陷。这是一篇关于为什么WAF不够用的读物,它还回答了为什么SRE不够用以及我们为什么不依赖它的原因。

http://www.acunetix.com/blog/news/implementing-a-web-application-firewall-only-is-not-enough-to-secure-web-applications/

关于c# - 安全运行时引擎VS AntiXSS库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5034586/

10-10 14:14