[Tip] Xss 필터링
2010. 9. 14. 17:32ㆍ이것저것
참고 사이트 : http://josephoconnell.com/java/xss-html-filter/
XSS 필터링 처리 해보기 :
1. 해당 사이트에서 : Download 로 패키지를 다운로드 받는다.'
2. WEB-INF/lib 폴더에 다운받은 html_filter.zip 파일을 저장한다.
3. 서버로 넘어온 스트링에 대해서 다음과 같은 처리를 수행한다.
4. 필터링 처리된 내용을 DB에 저장한다.
# HTMLInputFilter().filter()
이 메소드는 XSS 공격에 대한 방어 코드로 문자열을 변경하는 작업을 해준다.
만약 태그에 대해서 필터링까지 처리해주고자 한다면 다음과 같이 처리해주자..
이렇게 하면 "<", ">"와 관련한 문자열, ", '에 해당하는 문자열을 인코딩된 문자로 변경하여, 좀더 안정적인 서비스를 제공할 수 있다.
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");
}
... 중략 ...
이렇게 하면 "<", ">"와 관련한 문자열, ", '에 해당하는 문자열을 인코딩된 문자로 변경하여, 좀더 안정적인 서비스를 제공할 수 있다.
'이것저것' 카테고리의 다른 글
[Tip] 에러페이지 표현시 익스에서 표현이 안된다면 점검해보자 (1) | 2011.03.21 |
---|---|
[아이온] 템페르 공략법 (0) | 2011.02.04 |
[아이온] 템페르 공략 (0) | 2011.02.03 |
[Excel] 엑셀 2007 틀고정 (0) | 2010.04.29 |
[TIP] 복사 및 오른버튼 막기 풀기 (0) | 2010.04.28 |