1

我负责管理一个需要遵守 PCI 准则的站点。经过前一段时间的大量工作,它终于通过了PCI安全检查。最近它又开始失败了。我怀疑这是因为在安全检查中添加了新测试。

检查现在抱怨的是代码注入网站的可能性。这是其中一件事的一个例子:

http://www.monorep.co.uk/vauxhall/new-vans/?DealergroupId=<aavxhv%20>

如果您使用 Firebug 查看源代码,您会看到它是对我的代码执行此操作的:

<input name="DealergroupId" type="hidden" value="<aavxhv >">

行。本身无害,但我可以看到他们在做什么。

他们还提供了其他非常相似的示例,但它们都是同一行。

你怎么能真正防止这种事情呢?而且,有害吗?

提前致谢。

4

1 回答 1

2

您必须使用编码 html 页面上的所有呈现文本

HttpContext.Current.Server.HtmlEncode()

所有来自数据库、用户输入或其他来源的渲染文本。

例如,您的代码看起来像

<input name="DealergroupId" type="hidden" value="<%=Server.HtmlEncode(cParametrFromUrl)%>">
于 2012-09-07T10:21:09.820 回答