mirror of https://github.com/jeecgboot/jeecg-boot
Delete XSSUtils.java
parent
d3c139ab5d
commit
94b89f2135
|
@ -1,49 +0,0 @@
|
||||||
package org.jeecg.modules.system.util;
|
|
||||||
|
|
||||||
import org.springframework.web.util.HtmlUtils;
|
|
||||||
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Description: 工具类XSSUtils,现在的做法是替换成空字符,CSDN的是进行转义,比如文字开头的"<"转成<
|
|
||||||
* @author: lsq
|
|
||||||
* @date: 2021年07月26日 19:13
|
|
||||||
*/
|
|
||||||
public class XssUtils {
|
|
||||||
|
|
||||||
private static Pattern[] patterns = new Pattern[]{
|
|
||||||
//Script fragments
|
|
||||||
Pattern.compile("<script>(.*?)</script>", Pattern.CASE_INSENSITIVE),
|
|
||||||
//src='...'
|
|
||||||
Pattern.compile("src[\r\n]*=[\r\n]*\\\'(.*?)\\\'", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL),
|
|
||||||
Pattern.compile("src[\r\n]*=[\r\n]*\\\"(.*?)\\\"", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL),
|
|
||||||
//script tags
|
|
||||||
Pattern.compile("</script>", Pattern.CASE_INSENSITIVE),
|
|
||||||
Pattern.compile("<script(.*?)>", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL),
|
|
||||||
//eval(...)
|
|
||||||
Pattern.compile("eval\\((.*?)\\)", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL),
|
|
||||||
//expression(...)
|
|
||||||
Pattern.compile("expression\\((.*?)\\)", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL),
|
|
||||||
//javascript:...
|
|
||||||
Pattern.compile("javascript:", Pattern.CASE_INSENSITIVE),
|
|
||||||
//vbscript:...
|
|
||||||
Pattern.compile("vbscript:", Pattern.CASE_INSENSITIVE),
|
|
||||||
//onload(...)=...
|
|
||||||
Pattern.compile("onload(.*?)=", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL),
|
|
||||||
};
|
|
||||||
|
|
||||||
public static String scriptXss(String value) {
|
|
||||||
if (value != null) {
|
|
||||||
value = value.replaceAll(" ", "");
|
|
||||||
for(Pattern scriptPattern: patterns){
|
|
||||||
value = scriptPattern.matcher(value).replaceAll("");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return HtmlUtils.htmlEscape(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
String s = scriptXss("<img src=x onload=alert(111).*?><script></script>javascript:eval()\\\\.");
|
|
||||||
System.err.println("s======>" + s);
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue