본문 바로가기
Q&A2021년 3월 20일1분 읽기

XSS 필터를 우회하는 방법이 있나요?

신
신예린
조회 1084댓글 1

서버에서 <script> 태그를 필터링하고 있는데, 우회할 수 있는 방법이 있나요? 방어를 강화하고 싶습니다.

댓글 1

김김영삼5년 전

단순 필터링은 쉽게 우회됩니다:

// <script> 차단 시 우회
<img src=x onerror=alert(1)>
<svg onload=alert(1)>
<body onload=alert(1)>
<input onfocus=alert(1) autofocus>

// 대소문자 혼합
<ScRiPt>alert(1)</ScRiPt>

// 인코딩
<img src=x onerror=\u0061lert(1)>

올바른 방어법:

  1. 블랙리스트 방식 사용 금지 — 항상 우회됨
  2. 출력 시 HTML 이스케이프 — < → &lt; 변환
  3. CSP 헤더 설정
  4. DOMPurify 같은 라이브러리로 HTML 정제

입력 단계에서 차단하려 하지 말고, 출력 단계에서 이스케이프하는 것이 정석입니다.

Ctrl+Enter로 등록