diff --git a/maxkey-starter/maxkey-starter-web/src/main/java/org/dromara/maxkey/web/WebXssRequestFilter.java b/maxkey-starter/maxkey-starter-web/src/main/java/org/dromara/maxkey/web/WebXssRequestFilter.java index d0c3f23ab..54b701c0b 100644 --- a/maxkey-starter/maxkey-starter-web/src/main/java/org/dromara/maxkey/web/WebXssRequestFilter.java +++ b/maxkey-starter/maxkey-starter-web/src/main/java/org/dromara/maxkey/web/WebXssRequestFilter.java @@ -85,11 +85,26 @@ public class WebXssRequestFilter extends GenericFilterBean { String value = request.getParameter(key); _logger.trace("parameter name {} , value {}" , key, value); String tempValue = value; + String lowerCaseTempValue = tempValue.toLowerCase(); + /** + * StringEscapeUtils.escapeHtml4 + * " 转义为 " + * & 转义为 & + * < 转义为 < + * > 转义为 > + * + * 以下符号过滤 + * ' + * script + * eval + * + */ if(!StringEscapeUtils.escapeHtml4(tempValue).equals(value) - ||tempValue.toLowerCase().indexOf("script")>-1 - ||tempValue.toLowerCase().replace(" ", "").indexOf("eval(")>-1) { + ||lowerCaseTempValue.indexOf("'")>-1 + ||lowerCaseTempValue.indexOf("script")>-1 + ||lowerCaseTempValue.replace(" ", "").indexOf("eval(")>-1) { isWebXss = true; - _logger.error("parameter name {} , value {}, contains dangerous content ! ",key,value); + _logger.error("dangerous ! parameter {} , value {}",key,value); break; } }