Web

Cross-Site Scripting

XSS의 유형과 브라우저에서 실행되는 스크립트 주입 흐름을 정리합니다.

개요

Cross-Site Scripting은 신뢰할 수 없는 입력이 HTML, JavaScript, URL, CSS 문맥에 안전하지 않게 출력되어 브라우저에서 공격자 스크립트가 실행되는 취약점이다.

주요 유형

Reflected XSS

요청 파라미터가 응답에 즉시 반영될 때 발생한다.

Stored XSS

게시글, 프로필, 로그처럼 저장된 데이터가 다른 사용자에게 렌더링될 때 발생한다.

DOM-based XSS

서버 응답보다 클라이언트 JavaScript의 DOM 조작 과정에서 발생한다.

영향

  • 세션 탈취
  • 사용자 행동 위조
  • 피싱 UI 삽입
  • 내부 페이지 정보 유출

방어

출력 문맥별 인코딩을 적용하고, 위험한 HTML 삽입 API 사용을 제한한다. CSP는 피해 범위를 줄이는 보조 방어로 사용한다.