본 게시글은 크로스 사이트 스크립팅을 테스트할 수 있는 웹 애플리케이션이다.
- 사용법 -
<XSS 코드 입력 창>
1. 입력창 유형을 선택한다.
Textbox - 한 줄로만 실행 가능, Enter 키로 Ok 버튼을 요청 할 수 있어서 스크립트를 빠르게 실행하려고 할 때 유용하다.
Textarea - 여러 줄 실행 가능, 게시글과 같은 넓은 입력 화면을 제공하여 스크립트 작성이 편리하다.
2. XSS 코드 입력 창에 테스트할 스크립트를 삽입 후 OK 버튼을 요청한다.
3. Output html 코드에서 삽입된 스크립트가 실행되고
Output Code에서 입력된 스크립트가 text 형식으로 출력된다.
<Output form 선택 창>
1. Output form에서 html 폼을 변경할 수 있다.
2. #1은 script 태그를 이용한 방식, #2-3은 이벤트 핸들러를 이용한 방식의 문제이다.
3. define form을 이용하면 이용자가 직접 html 폼을 정의할 수 있으며 삽입될 스크립트의 위치를
반드시 $[INPUT_VALUE]로 명시한다.
<Filter 선택 창>
1. Blacklist 필터링은 특정 문자열을 제거하는 문자열 소거 방식이다.
2. Whitelist 필터링은 지정한 태그만 사용 가능한 방식이다.
3. 필터 옵션 #1번 선택 시 브라켓이 모두 < >로 치환된다.
4. #2번 선택 시 싱글 쿼터와 더블 쿼터 모두 1번과 마찬가지로 html entity로 치환된다.
5. Define filter는 본인이 원하는 필터링 방식을 지정할 수 있다.
입력된 값은 대소문자를 구분하지 않고 모두 필터링된다.
Blacklist 필터링에서 script와 alert라는 문자열을 제거 할 때 구분자인 ,(콤마)를 입력하고
script,alert 로 입력하면 된다. 아래와 같이 정규식으로 필터링을 사용할 수도 있다.
태그 제거 / 스크립트 태그 제거
<[^<|>]*>
<script[^>]*>(.*?)</script>
Whitelist 필터링은 p,h5,body 와 같이 사용할 태그를 나열하면 된다.