본문 바로가기
프로그래밍/Web.

[Web Security] Web Browser XSS Protection Not Enabled

by _Chavi 2020. 3. 23.

https://github.com/zaproxy/

 

OWASP ZAP을 이용하여 웹 취약점 검사 후 발견한 취약점 중 Web Browser XSS Protection Not Enabled에

관한 취약점을 처리하는 방법을 기록합니다.

본 게시글은 JAVA, Spring 환경을 기반으로 작성하였습니다.

 

문제 상황

OWASP ZAP을 이용하여 웹 취약점을 점검한 결과입니다. 경고의 내용은 Header에 X-XSS-Protection헤더가 Enable 되어있지 않다는 내용입니다.

위 기능은 IE, Chrome 등 브라우저에서 페이지 로드 중 XSS 공격을 감지할 때 로드를 중지시킬 수 있도록 하여주는 옵션입니다. 웹 서버에서도 설정할 수 있지만 이번 글에서는 소스에서 처리해주도록 하겠습니다.

 

해결방법
public class HttpHeaderSecurityFilter implements Filter {
	...
	@Override
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        
        HttpServletResponse res = (HttpServletResponse)response;
        
        //Missing "X-XSS-Protection" header
        res.addHeader("X-XSS-Protection", "1");
        
        chain.doFilter(request, response);
        
	}
    	...
}

 

Filter를 구현하여 모든 요청에 X-XSS-Protection을 Enable(1)해주는 방식으로 해결하였습니다.

 

댓글