0

XSS 攻撃の文字列記号 '<' と '>' をサニタイズするためのコードがあります。以下のスニペットで、誰かがこれらの 2 つのシンボルのコードを破ることができる場所を見つけますか? 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