【发布时间】:2013-04-23 12:33:56
【问题描述】:
我正在使用 asp.net htmleditorextender,不幸的是,现在没有有效的 XSS 清理程序。因此,作为快速解决方案,我将替换用户输入中的所有脚本和 java 单词,如下所示
var regex = new Regex("script", RegexOptions.IgnoreCase);
srSendText = regex.Replace(srSendText, "");
regex = new Regex("java", RegexOptions.IgnoreCase);
srSendText = regex.Replace(srSendText, "");
我可以假设我免受 XSS 攻击吗?
实际上我正在使用 htmlagilitypack 反 xss 消毒剂,但它甚至没有删除脚本标签,所以完全没用
【问题讨论】:
-
只要确保在将输入呈现为 HTML 之前正确转义输入(或在输入时转义)就是通常防止 XSS 的方法
-
你试过自己攻击它吗?
-
我喜欢 razor 的原因之一:如果你犯了一个错误,你通常会以双重编码数据结束,而不是打开一个 XSS 漏洞。这两件事中的一件很容易被发现并且没有风险;另一个是微妙的,非常危险......
标签: c# asp.net xss sanitization