티스토리 뷰

program

XSS Filter

littlecarbb 2013. 7. 11. 18:37

밑에 참고자료로 해보았지만 POST multipart-formdata는 되지 않았다...


----------------------------------------------------------------------

보안파트로부터 최근 XSS를 이용한 공격사례가 증가하고 있다는 내용과 함께,
request로 넘긴 javascript가 그대로 실행되는 페이지가 전달되었다.

매번 문제가 되는 부분만을 해결기에 급급하다보니, 누락된 부분이나 신규 개발되는 영역에서 문제가 다시 발생하기 마련이다.
framework이나 공통모듈에서의 지원이 이루어지지 못했던 점도 있다.
신규 framework를 개발하면서 반드시 추가되어야 할 내용이다.

위 내용을 들으면서 잠깐동안 어떻게 구현해야될지를 생각해봤는데,
생각보다 고려해야할 사항이 많았다.

필터링 구현체 : Servlet Filter or Interceptor(Spring, Struts 2.x)
필터링 룰 : 
    가능한 모든 케이스를 커버할 수 있는 Regular Expression
필터링 구현시 :
    GET/POST/POST multipart-formdata 방식에 따른 처리
처리방식 : 필터링에 걸린 경우, 
    1)문제가 되는 부분만 제거하고 정상적으로 실행할 것인가
        request.getParameter() 호출시에만 filtering
    2)request 자체를 무시할 것인가
        request의 모든 parameter에 대해 필터링을 수행 

    필터링에 걸린 파라미터의 내용(ex. <script>)은 제거되어야 하나 아니면 다른 문자열로 대체되어야 하나?
    정상적으로 실행 시, 기존 request에 대한 url rewrite 방식은?
    form validation에서도 필터링 룰이 지원되어야 하는가?

구글링
    참고 : 위키피디어 XSS
    구현 1 : CrossScriptingFilter implements Filter, RequestWrapper extends HttpServletRequestWrapper
    구현 2 : Stripes XSS Interceptor



공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함