我正在寻找一些有关保护我的代码免受漏洞攻击的建议。以下是我对两个问题的看法。
<input type="hidden" name="criteria" value="" />
<input type="hidden" name="search" value="0" />
使用IBM的App Scan扫描代码,结果显示测试能够将脚本(XSS)注入参数&#39;标准&#39;并且&#39;搜索&#39;。我在网上发现了一些这样的例子(内部标签),但没有找到可靠的解决方案。根据这些信息,清除值以防止XSS的最简单方法是什么?
答案 0 :(得分:6)
您正在查看问题的错误结束。你向我们展示的只是你有一个表格中有一些表格字段。这不是问题。
的问题是,如果有表格......必须有表格提交。并且您将有一些接收表单提交的过程并对其执行某些操作。 “用它做点什么”的一部分应该是“从XSS注射中消毒它”。
你如何处理这个问题取决于你被审计的原因,以及他们需要你如何保护这类事情。
最简单的方法是在CFAdmin的“设置”中启用“启用全局脚本保护”。那只是一个复选框。我不知道这是多么全面或实施得很好,但你可能只需要安抚你的审计。
其次......你的WAF应该自动阻止这种事情。如果您没有WAF,请获取一个。 Foundeo做FuseGuard,这是我从未使用过的,但是期待它很好,因为Foundeo知道他们正在做什么,而且它也是CFML特定的解决方案。
第三:解决你的代码问题。这可以像拦截所有入站表单,URL,CGI和cookie值一样简单,并确保它们中没有XSS向量。这里的基本级别是禁止将<script>
块传递给您的应用程序。但是,您需要做的是比这更全面,并且超出StackOverflow Q&amp; A的范围。去看看OWASP人们对XSS缓解的看法。从这里开始:“Cross-site Scripting (XSS)”。
如果您要进行PCI合规性,则可能必须执行所有这三项。即使前两者中的任何一个都应该是正确的。 PCI并不是明智的,而是PCI审计员向你勒索钱财。所以你有点跟他们说的一样。