XSS방어 관련 문의드립니다.
- 작성자 :
- 송*식
- 작성일 :
- 2014-03-11 15:41:12
- 조회수 :
- 1,995
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
안녕하세요 다름이 아니라 게시판 insert를 할때 XSS공격을 막으라고 메소드로 되어있던데
그게 img는 못막는것 같아서요 <img src="adfa.jpg" onload="alert('HI ')" /> 이런식으로 되어있는것을
막을라고 하는데 글을 읽어보니 Filter가 있는것 같던데 사용법좀 알려주셨음 합니다.
그럼 감사합니다. 이 홈페이지는 다 막혀 있는것 같은데 적용 방법 꼭 자세히좀 부탁드립니다.
그게 img는 못막는것 같아서요 <img src="adfa.jpg" onload="alert('HI ')" /> 이런식으로 되어있는것을
막을라고 하는데 글을 읽어보니 Filter가 있는것 같던데 사용법좀 알려주셨음 합니다.
그럼 감사합니다. 이 홈페이지는 다 막혀 있는것 같은데 적용 방법 꼭 자세히좀 부탁드립니다.
A
안녕하세요. 송호식님.
XSS를 위한 처리는 다음과 같이 2가지 방법이 있습니다.
첫번째는.. 입력 시에는 변환없이 처리하고.. 표시할 때에 문제가 되는 부분을 변환해서.. 표시해 주는 방법입니다..
이 방법은.. 표시해 줄 때에만.. <c:out> (JSTL의 core taglib)로 처리하시면 됩니다. (프로젝트 생성 시 만들어지는 예제 등 표준프레임워크의 예제들 참조)
두번째 방법은.. 입력 시에 문제가 되는 부분을 변환해 주고.. 표시 시에는 그냥 처리하시는 방법입니다.
이 경우는 web.xml 상에 filter로 처리할 수 있는데.. 표준프레임워크의 공통컴포넌트에서 HTMLTagFilter를 제공하고 있습니다.
이 경우의 단점은.. multipart를 사용하실 경우 해당 필터가 동작하지 않고... <c:out>과 함께 사용하시면 중복 처리로 인하여 입력한 값을 그대로 보실 수 없습니다. (예: &가 아닌 &가 화면에 표시)
그래서.. 일반적인 경우는 첫번째 방식을 가이드해드리고 있으나,
HTMLTagFilter의 경우는 공통 컴포넌트를 확인하신 후 web.xml 등을 확인 해 보시면 해당 내용의 적용을 확인하실 수 있습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.
XSS를 위한 처리는 다음과 같이 2가지 방법이 있습니다.
첫번째는.. 입력 시에는 변환없이 처리하고.. 표시할 때에 문제가 되는 부분을 변환해서.. 표시해 주는 방법입니다..
이 방법은.. 표시해 줄 때에만.. <c:out> (JSTL의 core taglib)로 처리하시면 됩니다. (프로젝트 생성 시 만들어지는 예제 등 표준프레임워크의 예제들 참조)
두번째 방법은.. 입력 시에 문제가 되는 부분을 변환해 주고.. 표시 시에는 그냥 처리하시는 방법입니다.
이 경우는 web.xml 상에 filter로 처리할 수 있는데.. 표준프레임워크의 공통컴포넌트에서 HTMLTagFilter를 제공하고 있습니다.
이 경우의 단점은.. multipart를 사용하실 경우 해당 필터가 동작하지 않고... <c:out>과 함께 사용하시면 중복 처리로 인하여 입력한 값을 그대로 보실 수 없습니다. (예: &가 아닌 &가 화면에 표시)
그래서.. 일반적인 경우는 첫번째 방식을 가이드해드리고 있으나,
HTMLTagFilter의 경우는 공통 컴포넌트를 확인하신 후 web.xml 등을 확인 해 보시면 해당 내용의 적용을 확인하실 수 있습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.