我的网站http://www.imayne.com似乎有这个问题,由MacAfee验证。有人可以告诉我如何解决这个问题吗? (标题)
它说:
一般解决方案:
当您接受用户输入时,如果您将数据显示回客户端,请确保您是HTML编码潜在恶意字符。
通过执行以下操作,确保对参数和用户输入进行了清理:
我似乎无法显示实际代码。该网站正在展示其他内容。
我不是网络开发者,但我可以做一点。我试图符合PCI标准。
答案 0 :(得分:2)
让我回答你的问题并给你一些建议。正确地防止XSS需要通过在用户输入点定义可接受值的白名单来完成,而不是黑名单的不允许值。在你开始考虑编码之前,这首先需要发生。
进行编码后,使用所选框架中的库,不要自己尝试进行字符替换。在OWASP Top 10 for .NET developers part 2: Cross-Site Scripting (XSS)中有关于此的更多信息(不要担心它是面向.NET的,所有框架的概念都是一致的)。
现在提供一些友好的建议:尽快获得一些专家支持。您在电子商务网站中有一个根本明显的反映XSS漏洞,根据您对此页面的评论,这不是您想要自己解决的问题。这个漏洞的明显性质表明你很可能在网站上遇到更多模糊的问题。由你自己承认,“你在这里是一个菜鸟”,你不会获得足够的安全网站所需的能力,例如一夜之间。
答案 1 :(得分:1)
您所描述的更改类型通常通过HTML编码功能以多种语言完成。什么是写入的网站。如果这是一个ASP.NET网站,本文可能有所帮助:
在PHP中使用此函数来包装所有正在输出的文本:
http://ch2.php.net/manual/en/function.htmlentities.php
您可以在任何地方看到echo(...)或print(...),您可以将其替换为:
echo(htmlentities( $whateverWasHereOriginally, ENT_COMPAT));
请查看页面中间的示例部分以获取其他指导。
答案 2 :(得分:0)
完全按照这些步骤,你很高兴。主要是确保您不会将用户提交给您的任何内容视为代码(HTML,SQL,Javascript或其他)。如果您未能正确清理输入,则存在脚本注入的风险。
如果您想查看此问题的一个简单示例,请搜索
<span style="color:red">red</span>
在您的网站上,您会看到回显的搜索字词为红色。