我有一段代码可以清理XSS攻击的字符串符号“ ”。您是否在下面的代码段中看到任何人可以破坏这两个符号的代码的地方。我知道XSS还有很多需要清理的地方,并且有标准库。但是,我们期望下面的代码片段有任何故障/损坏吗?从编码/字符设置的角度考虑。请看看并提出建议。

我们也可以使用replace,但这已经是编写的代码了,我必须打破它。

String next=""; //this will be a html get request param

final StringBuffer sb = new StringBuffer();
for (int i = 0; i < next.length(); ++i) {
  final char ch = next.charAt(i);

  if (ch == '<') {
    sb.append("&lt;");
  } else if (ch == '>') {
    sb.append("&gt;");
  } else {
    sb.append(ch);
  }
}

最佳答案

一种可能的攻击是:

&#0000060


此符号也是
实际上,我建议您不要自己编写替代文件。使用ESAPE by OWASPcommons-lang from apache

关于java - Java中的Xss sanitizer ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19930807/

10-12 01:26
查看更多