반응형

XSS와 CSRF 차이
XSS와 CSRF는 모두 웹 서비스에서 매우 흔하게 발견되는 보안 취약점이지만, 공격 방식과 방어 전략은 완전히 다릅니다.
1️⃣ XSS (Cross-Site Scripting)
XSS는 공격자가 악성 스크립트(JavaScript)를 웹 페이지에 삽입하여, 다른 사용자의 브라우저에서 실행되도록 만드는 공격입니다.
핵심 개념
- 서버가 사용자 입력을 제대로 검증/출력하지 않음
- 브라우저가 공격자 스크립트를 “정상 코드”로 실행
- 피해자는 공격 사실을 인지하지 못한 채 악성 코드 실행
- 서버가 사용자 입력을 제대로 검증/출력하지 않음
- 브라우저가 공격자 스크립트를 “정상 코드”로 실행
- 피해자는 공격 사실을 인지하지 못한 채 악성 코드 실행
XSS 주요 유형
- Stored XSS: 게시글/댓글 등에 저장되어 다수 사용자에게 영향
- Reflected XSS: URL/파라미터를 통해 즉시 반사 실행
- DOM-based XSS: 클라이언트 JS 로직 취약점
XSS의 장단점 (공격자 관점)
- 장점: 세션 탈취, 키로깅, 피싱 등 공격 확장성 큼
- 단점: 입력/출력 필터링, CSP 적용 시 난이도 급상승
2️⃣ CSRF (Cross-Site Request Forgery)
CSRF는 사용자가 이미 로그인된 상태임을 악용하여, 사용자의 의도와 무관한 요청을 서버에 강제로 전송하게 만드는 공격입니다.
핵심 개념
- 공격자는 스크립트를 실행할 필요 없음
- 브라우저의 “자동 쿠키 전송” 특성을 악용
- 서버는 요청이 정상 사용자 요청인지 구분 못함
- 공격자는 스크립트를 실행할 필요 없음
- 브라우저의 “자동 쿠키 전송” 특성을 악용
- 서버는 요청이 정상 사용자 요청인지 구분 못함
CSRF의 장단점 (공격자 관점)
- 장점: 단순한 HTML 요청만으로 공격 가능
- 단점: 읽기(Read)보다는 상태 변경(Create/Update/Delete)에 국한
3️⃣ XSS와 CSRF의 핵심 차이
| 구분 | XSS | CSRF |
|---|---|---|
| 공격 위치 | 사용자 브라우저 내부 | 서버 요청 처리 단계 |
| 공격 핵심 | 악성 스크립트 실행 | 위조된 요청 전송 |
| 사용자 클릭 | 불필요 (자동 실행 가능) | 필요한 경우 많음 |
| 주요 피해 | 세션 탈취, 정보 유출, 피싱 | 권한 오남용, 설정 변경 |
| 주요 방어 | 입력 검증, 출력 인코딩, CSP | CSRF 토큰, SameSite 쿠키 |
4️⃣ 운영 관점에서의 중요 포인트
- XSS는 “사용자 브라우저 장악” 문제
- CSRF는 “정상 사용자 권한 악용” 문제
- XSS가 존재하면 CSRF 방어도 우회될 수 있음
- 따라서 XSS 방어가 CSRF 방어의 전제 조건
- CSRF는 “정상 사용자 권한 악용” 문제
- XSS가 존재하면 CSRF 방어도 우회될 수 있음
- 따라서 XSS 방어가 CSRF 방어의 전제 조건
5️⃣ 정리
XSS와 CSRF는 자주 함께 언급되지만,
위협 모델 자체가 다릅니다.
안전한 웹 서비스 운영을 위해서는
두 취약점을 각각 독립적으로 이해하고,
동시에 방어 전략을 적용해야 합니다.
실무에서는 “CSRF 토큰만 있으면 안전하다”가 아니라,
“XSS가 없는 상태에서 CSRF 방어가 의미를 가진다”는 점을 반드시 기억해야 합니다.
반응형
'IT 소식 뉴스 > IT 소식' 카테고리의 다른 글
| 하이퍼스레딩 기술 정리 (0) | 2025.12.22 |
|---|---|
| strcpy 오버플로 취약점 대응 (0) | 2025.12.22 |
| 개인정보보호법과 전당포법 (0) | 2025.12.21 |
| AI 백틱 설명과 사용 가능 AI (0) | 2025.12.21 |
| 연합학습 AI 성능 한계 돌파 (0) | 2025.12.21 |
