본문 바로가기

카테고리 없음

크로스 사이트 스크립팅(XSS)과 HTMLTagFilter

크로스 사이트 스크립팅(XSS)과 HTMLTagFilter

크로스 사이트 스크립팅(XSS)

Cross Site Scripting

 

  • 스크립트를 악용해 사용자를 공격하는 기법.
  • SQL Injection과 더불어 가장 자주 사용되는 해킹기법이다.
  • 파라미터에 를 입력하여 다른 사용자에게 피해를 주게 한다.

 


HTMLTagFilter

전자정부프레임워크에서 제공하는 HTMLTagFilter 클래스를 구현하여 보다 간편하게 XSS 공격을 방어할 수 있다.

 

web.xml 에 다음을 추가하면 된다.

egovframework.com.cmm.filter.HTMLTagFilter

이 부분은 HTMLTagFilter 클래스가 있는 패키지 주소를 입력한다.

 

Filter는 기본적으로 <url-pattern>을 통해 Filter의 적용 범위를 결정한다.

위의 예시는 .do 로 끝나는 모든 url을 필터링하게 되어있다.

 

Filter는 예외(Exclude)를 지정하는 곳이 따로 없기 때문에 메서드를 따로 구현해야 한다.

참고 : Filter는 전체적인 url을 처리하기 때문에 예외가 없다고 한다.

(Interceptor는 특청 url 요청을 처리하기 위해 사용)

 

먼저 전자정부프레임워크에서 제공하는 HTMLTagFilter.java 클래스이다.

HTMLTagFilter.java

 

 

다른 블로그를 참고하여 /biz/로 시작하는 url은 filter 작업을 거치지 않도록 분기 처리를 위한 checkUrl 매서드를 만들고 doFilter 매서드를 수정하였다.

참고 및 출처 : https://jwchoi85.tistory.com/87