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("<");
} else if (ch == '>') {
sb.append(">");
} else {
sb.append(ch);
}
}