1. 크로스사이트 스크립팅(XS)


2. 취약점 개요
크로스사이트 스크립팅은 악성 스크립트를 웹 페이지에 삽입하여, 사용자가 해당 페이지를 열람할 경우 브라우저에서 실행되는 취약점을 말한다. 이를 이용해 공격자는 세션이나 쿠키 탈취나 악성 사이트로 리다이렉트가 발생할 수 있다.
3. 진단 결과
1) 사용자 입력 값을 전달받는 애플리케이션(회원정보 변경, 게시판, 댓글, 자료실 등)에 스크립트 입력 후 실행되는지 확인
First name : <script>alert(document.cookie)</script>
Last name : <h1>hacked is leegyumin</h1>
※ document.cookie는 브라우저에 저장 쿠키정보를 말함 - 악성 스크립트로 쿠키정보를 탈취하기 위한 시나리오

2) 게시판 페이지를 포함한 웹 인터페이스에서 사용자 의도와 무관하게 악성 프로그램이 강제 다운로드되거나 자동 실행되거나, 사용자를 악성 사이트로 리다이렉트하는 행위가 발생하는지 확인


4. 권고사항
1) 웹 사이트 내 사용자 입력값이 저장 및 출력되는 모든 페이지에서 스크립트 실행에 악용될 수 있는 태그 및 특수문자 사용을 사전에 차단해야 함
2) 게시판, 댓글, 검색, 회원정보 변경, URL 파라미터 등 모든 사용자 입력 폼과 파라미터에 대해 신뢰하지 않고 필터링 로직을 일관되게 적용해야 함
3) 입력값 검증 시 서버 측에서 반드시 공백 제거(trim), 문자열 치환(replace) 함수를 사용해 불필요한 공백 및 위험 문자를 제거
4) URL 인코딩 우회 공격을 방지하기 위해, 서버 측에서 URLDecoder 클래스의 decode 메소드를 활용해 인코딩된 입력값을 정상적으로 디코딩한 후 필터링을 수행해야 됨
5) 웹 방화벽 룰셋어 모든 사용자 입력 폼을 대상으로 스크립트 태그 및 특수문자에 대한 필터링 규칙을 적용해 자동 차단 및 탐지를 강화 함
6) 상세 오류 정보의 일반화 및 외부 노출을 차단해야 함
◎ 필터링 조치 대상 입력 값
스크립터 정의어 : <SCRIPT>, <OBJECT>, <APPLET>, <EMBED>, <FORM>, <IFRAME>등
특수문자 : <, >, ", ', &, %, %00 (null 문자) 등
'Web 취약점' 카테고리의 다른 글
| Web 취약점 진단 - 취약한 패스워드 복구 (0) | 2026.01.04 |
|---|---|
| Web 취약점 진단 - 불충분한 인증 (0) | 2026.01.04 |
| Web 취약점 진단 - 약한 문자열 강도 (0) | 2025.12.30 |
| Web 취약점 진단 - 악성 콘텐츠 (0) | 2025.12.30 |
| Web 취약점 진단 - 정보 누출 (0) | 2025.12.30 |