我有春季申请。我读过有关XSS attach的内容 我在这里答案全球禁用 How do I prevent people from doing XSS in Spring MVC?
(我把context-param放在web.xml中)
但我仍然可以通过在URL
中提供脚本来对URL进行xss攻击https://localhost/sam/pop/viewProfile?id=/%3E%3Cscript%3Ealert%28123%29%3C/script%3E
如何解决这个问题?
答案 0 :(得分:1)
我认为您只需使用模式清除帖子或获取参数。这是最受欢迎的黑客伎俩,因为你应该记住你在服务器端做的事情。 看看这个简单的HTML模式(http://ideone.com/zJ8BGT):
import java.util.*;
import java.lang.*;
import java.io.*;
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
String pattern = "</{0,1}\\s*(((\\w+\\s*)={0,1}(\"|'){0,1}((\\w+\\s*-*_*)*(:|;|\\)|\\()*/{0,2}(\\w*\\s*/{0,1}\\.{0,1}&*;*\\?*=*-*\\+*%*)(\"|'){0,1}))\\s*)*/{0,1}>";
String str = "<script>alert(123)</script>";
System.out.println(str.replaceAll(pattern, ""));
}
}