노출되는 이미지가 불편하시겠지만 양해를 구합니다. 노출, 클릭등에 관한 자료로 활용 중입니다.




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

블로그 이미지

StartGuide

I want to share the basic to programming of each category and how to solve the error. This basic instruction can be extended further. And I have been worked in southeast Asia more than 3 years. And I want to have the chance to work another country.

,