Fortify Scan,Java print()字符串,跨站点脚本

时间:2017-03-08 18:23:32

标签: java xss fortify

任何人都知道一个修复程序会让Fortify Scan感到满意并且不会将下面的“print(x)”标记为易受跨站点脚本攻击?

public void println(String x) {
    synchronized (lock) {
        print(x);
        println();
    }
}

1 个答案:

答案 0 :(得分:0)

Fortify认为对此的输入受到污染(可能是因为它来自参数)并且正在寻找一个例程来验证或编码该值以防止XSS。

请注意,验证应该最好作为白名单验证,并且当您知道编码的上下文时,编码应该在输出时完成(HTML属性?Javascript?)

如果您在此例程中有足够的上下文来执行其中任何一个操作,则不清楚。因此,您可能需要在数据流中更合适的地方执行此操作。您还需要告诉Fortify(通过规则)您用于验证或编码的例程是XSS的清理例程。

然后 - Fortify会很高兴,你的代码会更安全。