노출되는 이미지가 불편하시겠지만 양해를 구합니다. 노출, 클릭등에 관한 자료로 활용 중입니다.
XSS ( Cross Site Scripting ) 제거 하기
- 문자열을 아래와 같은 변환을 통해서, 불필요한 script를 제거 한다. ( 때로는 escape된 문자열를 변환후에 제거하는 과정도 필요하다. )
1. HTML Sanitizer Project
1) 다운로드
(1) owasp-java-html-sanitizer.jar
(2) Dependency jar
- guava : lib/guava-libraries/guava.jar
- JSR305 : lib/jsr305/jsr305.jar
2) 코드 작성
// prepackaged policies String untrustedHTML="<script>alert()</script>"; PolicyFactory policy = Sanitizers.FORMATTING.and(Sanitizers.LINKS); String safeHTML = policy.sanitize(untrustedHTML);
2. Jsoup
1) 다운로드 jsoup-1.10.2.jar
2) 코드작성
String unsafe = "<p><a onclick="stealCookies()" href="http://example.com/">Link</a></p>";
String safe = Jsoup.clean(unsafe, Whitelist.basic());
// now: <p><a href="http://example.com/" rel="nofollow">Link</a></p>
* UnescapeHtml() - Class StringEscapeUtils - commons.apache.org
: Unescapes a string containing XML entity escapes to a string containing the actual Unicode characters corresponding to the escapes
'Web Tech. > Spring Framework' 카테고리의 다른 글
2016년 Java 개발 Tool 및 기술 사용 분석/동향 (0) | 2017.03.20 |
---|---|
Vaadin Appication 만들기 (0) | 2017.03.08 |
Spring Boot와 Vaadin의 full stack 어플리케이션 ( JPA, PostgreSQL ) (0) | 2017.02.24 |
Maven을 윈도우10에 설치하기 (0) | 2017.02.24 |
Jenkins/젠킨스 설치, 빌드설정, Port변경 (2) | 2017.02.14 |