취약점 중 Cross-site Scripting 처리
- 작성자 :
- 지*근
- 작성일 :
- 2016-09-22 17:08:58
- 조회수 :
- 1,385
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
eGov를 사용하는 환경에서 Cross-site Scripting 처리를 위해
web.xml 에 org.springframework.web.filter.CharacterEncodingFilter를 사용하고
JSP 코딩시 <c:out 을 사용하면
Cross-site Scripting 방지할 수 있는건지 알고 싶습니다.
web.xml 에 org.springframework.web.filter.CharacterEncodingFilter를 사용하고
JSP 코딩시 <c:out 을 사용하면
Cross-site Scripting 방지할 수 있는건지 알고 싶습니다.
A
안녕하세요.
표준프레임워크센터입니다.
문의하신 부분에 답변드리겠습니다.
첫 번째로 CharacterEncodingFilter은 Cross-site Script과 무관합니다.
두 번째로 <c:out을 사용하여 입력 시에는 변환 없이 처리하고 표시가 되는 부분에서 변환하여 표시해주는 일반적인 방법입니다.
그리고 추가적으로 표준프레임워크 공통컴포넌트에서 HTMLTagFilter를 제공하고 있습니다.
입력 시에 문제가 되는 부분을 변환해주고 표시는 그냥 처리하는 방법으로,
단점은 multipart를 사용하실 경우 해당 필터가 동작하지 않고 <c:out>과 함께 사용하시면 중복 처리로 인하여 입력한 값을 그대로 보실 수 없습니다. (예: &가 아닌 &가 화면에 표시)
일반적인 경우는 첫 번째 방식을 가이드 해드리고 있으나,
HTMLTagFilter의 경우는 공통 컴포넌트를 확인하신 후 web.xml 등을 확인해 보시면 해당 내용의 적용을 확인하실 수 있습니다.
참고사항으로 공격 방법에 따라서 방어책을 더 강구하셔야 하므로 아래 자료를 참고하시면 되겠습니다.
한국 인터넷진흥원(XSS) 공격 종류 및 대응방법 관련 글이 있습니다.
http://www.kisa.or.kr/public/library/IS_View.jsp?mode=view&p_No=158&b_No=158&d_No=105
수고하십시오.
표준프레임워크센터입니다.
문의하신 부분에 답변드리겠습니다.
첫 번째로 CharacterEncodingFilter은 Cross-site Script과 무관합니다.
두 번째로 <c:out을 사용하여 입력 시에는 변환 없이 처리하고 표시가 되는 부분에서 변환하여 표시해주는 일반적인 방법입니다.
그리고 추가적으로 표준프레임워크 공통컴포넌트에서 HTMLTagFilter를 제공하고 있습니다.
입력 시에 문제가 되는 부분을 변환해주고 표시는 그냥 처리하는 방법으로,
단점은 multipart를 사용하실 경우 해당 필터가 동작하지 않고 <c:out>과 함께 사용하시면 중복 처리로 인하여 입력한 값을 그대로 보실 수 없습니다. (예: &가 아닌 &가 화면에 표시)
일반적인 경우는 첫 번째 방식을 가이드 해드리고 있으나,
HTMLTagFilter의 경우는 공통 컴포넌트를 확인하신 후 web.xml 등을 확인해 보시면 해당 내용의 적용을 확인하실 수 있습니다.
참고사항으로 공격 방법에 따라서 방어책을 더 강구하셔야 하므로 아래 자료를 참고하시면 되겠습니다.
한국 인터넷진흥원(XSS) 공격 종류 및 대응방법 관련 글이 있습니다.
http://www.kisa.or.kr/public/library/IS_View.jsp?mode=view&p_No=158&b_No=158&d_No=105
수고하십시오.