[Lucy XSS Filter 소개]
XSS(Cross Site Scripting) 공격을 방어하는 JAVA 라이브러리
- 화이트 리스트(White List) 설정 방식
- 블랙리스트 방식에 비해 새로운 공격 유형에 더 안전함
- 규칙을 선언한 XML 파일 사이의 상속, 오버라이딩 가능
- 보안 정책을 정하는 부서에서 상위 설정 파일을 제공하고 서비스별로 필요한 정책을 하위 선언 파일에 기술하는 방식으로 사용이 가능함
- 메모리를 효율적으로 쓰는 SAX 방식의 HTML 파싱 모듈 제공
- HTML5, HTML4 Transitional DTD 명세 지원
- 공격 패턴 검출 시 주석문으로 알림
- <!-- Not Allowed Tag Filtered -→ 주석을 추가해서 허용되지 않는 태그임을 알려줌
- 기능 확장이 지점 제공 (ElementListener, AttributeListener)
- Malformed HTML도 파싱 가능
- EBNF(Extended Backus-Naur Form) Notation을 기반으로 재정의된 파싱 규칙을 사용하여 Malformed HTML도 원본의 변형 없이 파싱함
1. pom.xml 파일의 dependencies에 아래의 값을 입력합니다.
<dependencies>
...
<dependency>
<groupId>com.navercorp.lucy</groupId>
<artifactId>lucy-xss-servlet</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
2. 아래의 주소로 가서 lucy-xss-servlet-filter-rule.xml을 다운로드합니다.
https://github.com/naver/lucy-xss-servlet-filter
naver/lucy-xss-servlet-filter
Contribute to naver/lucy-xss-servlet-filter development by creating an account on GitHub.
github.com
3. lucy-xss-servlet-filter-rule.xml 파일의 src/main/resources의 위치에 넣습니다.
4. web.xml에 아래와 같이 filter를 추가합니다.
<filter>
<filter-name>xssEscapeServletFilter</filter-name>
<filter-class>com.navercorp.lucy.security.xss.servletfilter.XssEscapeServletFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>xssEscapeServletFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
[출처]
https://doctorson0309.tistory.com/194
[Lucy XSS filter] 3번 클릭 만에 적용하기! - XSS방지, 방어, 네이버XSS
안녕하세요. 이사작전.com의 개발자 말랑고양입니다. 오늘은 lucy xss filter를 프로젝트에 쉽게 반영하는 방법에 대해서 포스팅을 하려합니다. 서...
doctorson0309.tistory.com
http://naver.github.io/lucy-xss-filter/kr/
Lucy XSS Filter
1. 소개 XSS(Cross Site Scripting) 공격을 방어하는 Java 라이브러리 화이트 리스트(White List) 설정 방식 블랙리스트 방식에 비해 새...
naver.github.io
spring boot filter를 사용한 xss 처리(lucy xss filter)
웹 보안의 시작이라고도 할 수 있는 cross site scripting(xss)에 대한 처리를 할 수 있는 방법은 다양하다. spring framework를 사용한다면 그 방...
www.leafcats.com