XSS란?

공격자가 웹 애플리케이션에 악성 JavaScript를 주입해 다른 사용자의 브라우저에서 실행시키는 공격이다. 쿠키 탈취, 세션 하이재킹 등이 가능하다.

종류

  • Stored XSS — DB에 저장된 악성 스크립트 (댓글 등)
  • Reflected XSS — URL 파라미터를 그대로 렌더할 때
  • DOM XSS — 클라이언트 JS가 innerHTML 등으로 처리할 때

방어

  • 사용자 입력은 HTML 이스케이프 후 출력
  • CSP(Content-Security-Policy) 헤더 설정
  • 쿠키에 HttpOnly, Secure, SameSite 속성
  • 프레임워크의 자동 이스케이프 신뢰 (React, Vue)