1

为我们的网站建立了一个聊天程序。该程序的一部分确实允许网页评论区用于讨论该页面。

所以有一个文本输入,所以文本被输入并重新显示在页面上。
显然,这是有潜在风险的。

因此,为了使文本字符串输入安全地重新显示在网页上,我可以只禁止<>字符及其编码的 xml 和十六进制等效项吗?

如果没有脚本标签,是否有任何其他潜在的攻击向量可以嵌入到文本字符串中?

4

1 回答 1

0

您实际上不需要禁止这些字符,您可以将它们转义(例如>变成&gt; 等等)。这将安全地将所有 HTML 转换为可读文本。请记住,您不仅可以执行脚本标签<span onmouseOver="javascript here">,还可以加载可能利用浏览器弱点的图像,您可以添加显示恶意内容的 iframe 等等。所以 HTML 转义整个字符串可能是最安全的选择。

OWASP 项目有一些 C# 库,您可以将它们用于您的目的。https://www.owasp.org/index.php/.NET_AntiXSS_Library

于 2018-01-24T09:07:09.843 回答