2016-07-27 1 views
0

XSS 취약점으로부터 사이트를 보호하기 위해 서블릿 필터를 작성하고 있습니다. HTTPRequest에 적용 할 수있는 화이트리스트가 있어야 악의적 인 스크립트와 문자를 피할 수 있습니다.Java 기반 응용 프로그램의 XSS 취약점으로부터 보호하기위한 화이트리스트 만들기

정규 표현식을 허용 목록으로 사용할 수 있습니까? URL의 모든 문자가 포함되도록 정규 표현식을 사용해야합니다. 다른 해결책도 환영합니다.

응용 프로그램의 URL에 대한 화이트리스트를 만드는 방법을 제안 해주십시오.

미리 감사드립니다.

업데이트 - 아래 표를 작성하지 마십시오. 의견에 대한 제 연구를 참조하십시오. 나는 이미 이것에 대해 많은 것을 연구했다.

+0

나는 이미 사용 JSTL 태그 또는 FN : 문자 인코딩에 대한 escapeXml(). 필터를 통해 추가 보안을 적용하여 서블릿 및 JSP에 악의적 인 스크립트 나 문자가 노출되지 않도록하고 싶습니다. –

+0

첫 번째 수준의 보안을 구현하려면 흰색 목록이 필요하고 두 번째 수준에서는 이미 문자 인코딩을 구현했습니다. 따라서이 복제물을 표시하지 마십시오. –

+0

고객이 URL에 악의적 인물이 삽입 된 경우 요청을 악의적 인 요청으로 표시하려고합니다. 그래서 화이트리스트가 필요합니다. –

답변

1

실제 HTML 파서를 사용하여 JSoup와 같은 XSS를 방지해야합니다. 정규식을 사용하지 마십시오. 여기

내가 봄 보안 (희망)을 모두 차단 인바운드 XSS 위해 만든 간단한 필터입니다 :

http://blog.databasepatterns.com/2015/08/simple-inbound-xss-filter-for-spring.html

당신이 많은 것처럼, 특정 태그를 비 봄 환경에 맞게 수정하거나 허용 할 수 있습니다 Hibernate Validator의 @SafeHTML 주석은 않습니다.

관련 문제