0

我有一个代码段来清理字符串符号“<”和“>”以进行 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);
  }
}
4

1 回答 1

4

一种可能的攻击是:

&#0000060

这个符号也是一个<并且需要被替换。

事实上,我建议不要自己写替换。使用OWASP 的 EASPEapache 的 commons-lang

于 2013-11-12T13:50:49.213 回答