반응형
참고 사이트 : http://josephoconnell.com/java/xss-html-filter/
XSS 필터링 처리 해보기 :
1. 해당 사이트에서 : Download 로 패키지를 다운로드 받는다.'
2. WEB-INF/lib 폴더에 다운받은 html_filter.zip 파일을 저장한다.
3. 서버로 넘어온 스트링에 대해서 다음과 같은 처리를 수행한다.
import com.josephoconnell.html.HTMLInputFilter;
... 중략 ...
String cont = new HTMLInputFilter().filter(request.getParameter("cont"));
... 중략 ...
... 중략 ...
String cont = new HTMLInputFilter().filter(request.getParameter("cont"));
... 중략 ...
# 솔직히, 상당히 쉬운 필터링 방법을 제공해준다. #
4. 필터링 처리된 내용을 DB에 저장한다.
# HTMLInputFilter().filter()
이 메소드는 XSS 공격에 대한 방어 코드로 문자열을 변경하는 작업을 해준다.
만약 태그에 대해서 필터링까지 처리해주고자 한다면 다음과 같이 처리해주자..
... 중략 ...
private String filter(String input) {
if(input==null) {
return null;
}
String clean = new HTMLInputFilter().
filter(input.replaceAll("\"", "%22").replaceAll("\'","%27"));
return clean.replaceAll("<", "%3C").replaceAll(">", "%3E");
}
... 중략 ...
private String filter(String input) {
if(input==null) {
return null;
}
String clean = new HTMLInputFilter().
filter(input.replaceAll("\"", "%22").replaceAll("\'","%27"));
return clean.replaceAll("<", "%3C").replaceAll(">", "%3E");
}
... 중략 ...
이렇게 하면 "<", ">"와 관련한 문자열, ", '에 해당하는 문자열을 인코딩된 문자로 변경하여, 좀더 안정적인 서비스를 제공할 수 있다.
출처 : http://neokido.tistory.com/entry/XSS-%ED%95%84%ED%84%B0%EB%A7%81-%EC%B2%98%EB%A6%AC
반응형
'Java+Jsp' 카테고리의 다른 글
Eclipse에서 JPetStore 테스트 환경 구축 - Spring Framework 2.5, iBatis (0) | 2010.10.01 |
---|---|
burpsuite 로컬 프록시 프로그램 (0) | 2010.09.16 |
html 중 src가 들어있는 부분의 주소를 추출 (0) | 2010.08.06 |
아파치 톰캣 연동 (0) | 2010.04.13 |
jsp ftp (Commons net) (0) | 2010.02.18 |