java中的Xss清理

时间:2013-11-12 13:43:43

标签: java encoding xss

我有一个代码片来清理字符串符号'<'和'>'用于XSS攻击。您是否在下面的代码段中看到有人可以破解这两个符号的代码。我知道XSS还有更多的消毒功能,还有标准库。但我们是否预计下面的代码段会出现任何故障/破损?从编码/字符集的角度思考也。请看一下并建议。

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

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);
  }
}

1 个答案:

答案 0 :(得分:4)

一种可能的攻击方式是:

&#0000060

此标志也是&lt; ,需要更换。

事实上,我建议 NOT 自行编写替代品。使用ESAPE by OWASPcommons-lang from apache