簡體   English   中英

Java中的Xss消毒

[英]Xss sanitization in java

我有一段代碼可以清理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

此符號也是< ,需要替換。

實際上,我建議您不要自己編寫替代文件。 使用OWASP的ESAPEapache的commons-lang

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM