ASP.NET:寻找解决方案来解决XSS

时间:2009-11-10 10:25:46

标签: asp.net xss

我们有一个长期运行的网站, XSS 潜伏着。问题来自于一些开发人员直接 - 而不使用HtmlEncode / Decode() - 检索Request [“sth”]来完成流程,放在网上。

我想知道是否有像HTTPModule这样的机制来帮助我们HtmlEncode()Http请求中的所有项目在某种程度上避免使用XSS。

感谢任何建议。

RGDS, 瑞奇

2 个答案:

答案 0 :(得分:1)

问题不是检索请求数据而不进行HTML编码。事实上,这是完全正确的。在将其吐入HTML页面时,不应对任何文本进行编码,直到最终输出阶段。

尝试对传入参数进行全面编码,无论是HTML编码还是SQL编码,都是错误的。它可能会隐藏您应用中的XSS漏洞,但不会修复它们。如果您输出的内容不是来自参数,或者从那时起已被处理,您仍然会有一个漏洞。同时,自动编码将使用乘法转义的& crud填充您的数据库。

您需要修复输出阶段,这就是问题所在。

答案 1 :(得分:0)

像bobince所说,这是一个输出问题,而不是输入问题。如果您可以隔离在页面上输出此数据的位置,则可以创建过滤器并将其添加到Response对象。此过滤器将隔离常见输出的区域,然后对其进行HtmlEncode。