我想使用 HP Fortify 扫描使用Tapestry框架实现的 web-gui-project。为了测试,如果 Fortify 能够在 Tapestry 项目中找到漏洞,我创建了一个易受攻击的项目并对其进行了扫描。该项目在 .tml 文件中包含一个反射的 XSS 漏洞:
<t:Form t:id="testXSSForm">
<t:label for="testinputfield" />
<t:TextField t:id="testinputfield" t:value="testInput" />
<input type="submit" value="submit" />
</t:Form>
<p>
Your input is <t:OutputRaw t:value="testInput"/>
</p>
(请参阅http://www.disasterarea.co.uk/blog/xss-vulnerabilities-in-web-frameworks-2/上的更详细示例)
Fortify 没有发现该漏洞,我认为,Fortify 不理解完全是特定于框架的 .tml 文件。
我认为可以为这种特定情况创建配置规则并将所有出现的“t:OutputRaw”标记为潜在不安全,但我认为正确的方法包括为输入表单创建数据源规则和为outputRaw 字段。
我怎样才能做到这一点?一般来说,是否可以为 Tapestry 的 .tml 文件创建数据流规则?