一直在阅读各种注入型攻击,似乎摆脱这些漏洞的最佳方法是对所有用户输入进行编码,以删除/替换某些字符(< > ; 等)。
我在这里最好的选择是什么?有没有很好的图书馆可以帮助我解决这个问题?或者可以帮助我发现潜在漏洞的东西?- 还是正则表达式是我最好的选择?:)
非常感谢
一直在阅读各种注入型攻击,似乎摆脱这些漏洞的最佳方法是对所有用户输入进行编码,以删除/替换某些字符(< > ; 等)。
我在这里最好的选择是什么?有没有很好的图书馆可以帮助我解决这个问题?或者可以帮助我发现潜在漏洞的东西?- 还是正则表达式是我最好的选择?:)
非常感谢
看看AntiXSS 库。
Server
ASP.NET 中的Page
实例(可通过Page
ie访问this
)提供了HtmlEncode()
一种足以防止 XSS 攻击的方法。
默认情况下web.config
,ASP.NET 将拒绝任何带有错误页面的可疑输入,而无需在任何一个或通过页面指令明确允许它。
其中,我会投票给 ESAPI,因为我使用了 Java 版本的 ESAPI 来防止 XSS 攻击。请记住,数据的纯 HTML 编码不会阻止 XSS。数据的上下文也很重要——如果您动态生成它并将其注入服务器的响应中,您将不得不转义 JavaScript。
最近我一直在研究 ESAPI.NET,该项目似乎不完整并且可能不活跃——尤其是与 java 包相比。
Anti-XSS 仅涵盖 ESAPI 范围的一个子集,实际上,ESAPI.NET 使用 AntiXSS(尽管不是最新的)进行编码。
任何证明 ESAPI.NET 有用性的评论都会有所帮助。