输入标记中的XSS值

Cra*_*g24 3 xss coldfusion

我正在寻找一些关于保护我的代码免受漏洞攻击的建议.以下是我有两个问题的问题.

<input type="hidden" name="criteria" value="" />
<input type="hidden" name="search" value="0" />
Run Code Online (Sandbox Code Playgroud)

使用IBM的App Scan扫描代码,结果显示测试能够将脚本(XSS)注入参数'criteria'和'search'.我在网上发现了一些这样的例子(内部标签),但没有找到可靠的解决方案.根据这些信息,清除值以防止XSS的最简单方法是什么?

Ada*_*ron 6

你正在看问题的错误结束.你向我们展示的只是你有一个表格中有一些表格字段.那不是问题.

什么问题是,如果有一种形式......必须有一个表单提交.而且你会有一些流程接收表单提交并对其做一些事情."用它做点什么"的一部分应该是"从XSS注射中消毒它".

你如何处理这个问题取决于你被审计的原因,以及他们需要你如何保护这类事情.

最简单的方法是在CFAdmin的"设置"中启用"启用全局脚本保护".那只是一个复选框.我不知道这是多么全面或实施得很好,但您可能只需要安抚审计.

其次......你的WAF应该自动阻止这种事情.如果您没有WAF,请获取一个.Foundeo做FuseGuard,我从来没有使用过,但是期待它很好,因为Foundeo知道他们正在做什么,而且它也是CFML特定的解决方案.

第三:解决您的代码问题.这可以像拦截所有入站表单,URL,CGI和cookie值一样简单,并确保它们中没有XSS向量.这里的基本级别是禁止将任何<script>块传递给您的应用程序.但是,您需要做的是比这更全面,以及StackOverflow Q&A的范围.去看看OWASP人们对XSS缓解的看法.从这里开始:" 跨站点脚本(XSS) ".

如果您要进行PCI合规性,您可能需要完成所有这三项工作.即使前两者中的任何一个都应该是正确的.PCI并不是明智的,而是PCI审计员向你勒索钱财.所以你有点赞同他们说的话.