본문 바로가기

Java

springboot Xss대비 네이버 lucy-xss-filter 사용 특정 특수문자 허용

네이버 lucy-xss-filter 주소 : 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

 

인계받은 스프링부트 프로젝트 진행중 xss처리를 하기 위해 서칭하다 네이버에서 제공하는 lucy-xss-filter를 알게되어 적용하였으나 파라미터중 json 타입으로 ajax요청을 던지는 함수가 존재했고, 이과정에서 필터가 적용되어 따옴표까지 변형이 되버려 제대로 동작하지 않는 상황 발생하여 변형시키게 됨

 

( 필터 2.0.0 version 적용 )

1. pom.xml 에 추가

 

2. src/main/resouces 경로에 lucy-xss-servlet-filter-rule.xml 파일 생성

 

 

3. boot java 파일중 @springBootApplication 이 선언된 java 파일에 해당 Bean 추가

 

 

4. 네이버 git에서 클론을 다운받기 or 소스복사 적용

 

로컬에 xss.defender 패키지경로를 만들어주고

해당 패키지에 XssPreventerDefender.java 파일을 생성 또는 네이버의 소스를 붙여넣어 적용

 

 

다른 java 파일들은 받아와서 쓰고 허용하고 싶은 특수문자만 html로 바꿔준것을 다시 재변환 시키는 작업

 

 

ps.

급하게 필터만 필요한 상황이였고, 좀더 세밀히 다른 방안을 원하면 naver lucy github에 문의 또는 직접 개발해야함

request란에 어떤분도 특수문자 하나를 불가피하게 허용해야 했으나, 네이버개발자께서 아직 기능이 적용된것은 없다함