【问题标题】:How to prevent code injection windows server 2008 R2 .aspx如何防止代码注入 windows server 2008 R2 .aspx
【发布时间】:2012-09-01 02:31:51
【问题描述】:

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

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

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

如果您使用 Firebug 查看源代码,您会发现我的代码是这样做的:

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

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

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

您如何才能真正防止此类事情发生? 而且,它有害吗?

提前致谢。

【问题讨论】:

  • 对不起,我在你的页面上玩了一会儿来检查一下,没有发回。也许最好从问题中删除您的网址,并以正确的方式制作 HtmlEncode。

标签: asp.net windows-server-2008-r2 pci-dss pci-compliance html-injections


【解决方案1】:

您必须使用

对 html 页面上所有呈现的文本进行编码
HttpContext.Current.Server.HtmlEncode()

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

例如,您的代码将如下所示

<input name="DealergroupId" type="hidden" value="<%=Server.HtmlEncode(cParametrFromUrl)%>">

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-05-31
  • 2012-05-25
  • 1970-01-01
  • 2011-10-18
  • 2014-04-18
  • 1970-01-01
  • 2012-06-05
  • 1970-01-01
相关资源
最近更新 更多