Cross-Site Scripting(XSS)과 Cross-Site Request Forgery(CSRF)의 차이점
XSS와 CSRF, 둘 다 웹 보안 공격인데 뭐가 다를까?
웹 보안에서 가장 흔한 공격 유형 중 두 가지가 XSS(Cross-Site Scripting)와 CSRF(Cross-Site Request Forgery)입니다. 둘 다 웹 애플리케이션의 취약점을 이용한 공격이지만, 작동 방식과 목적이 다릅니다.
한눈에 보는 XSS vs. CSRF 차이점
공격 유형 | 공격 대상 | 주요 목적 | 공격 방식 |
XSS (크로스 사이트 스크립팅) | 사용자 (클라이언트) | 악성 스크립트 실행 | 피해자의 브라우저에서 악성 JavaScript 실행 |
CSRF (크로스 사이트 요청 위조) | 서버 | 피해자의 권한을 이용한 요청 수행 | 피해자가 의도하지 않은 요청을 서버에 전송 |
1. Cross-Site Scripting(XSS) 공격이란?
XSS 공격 개념
XSS 공격은 웹사이트에 악성 JavaScript 코드를 삽입하여 실행하도록 유도하는 공격입니다. 공격자가 사용자 브라우저에서 실행될 코드를 심으면, 피해자는 알지도 못한 채 악성 코드가 실행됩니다.
XSS 공격 예제
예를 들어, 웹사이트의 댓글 입력란이 XSS 방어를 하지 않는다면, 다음과 같은 코드를 입력할 수 있습니다.
html
<script>alert('당신의 쿠키가 탈취되었습니다!');</script>
이 코드를 저장하고 해당 페이지를 방문하는 사용자들은 자동으로 경고 창이 뜨거나, 쿠키가 탈취될 수 있습니다.
🛡 XSS 공격 방어 방법
✅ 입력값 검증(Input Validation): <script>, <img>, <iframe> 태그 차단
✅ 출력 인코딩(Output Encoding): HTML 특수문자(<, >, ")를 변환 (<, >, ")
✅ Content Security Policy(CSP) 적용: 신뢰할 수 없는 스크립트 실행 차단
2. Cross-Site Request Forgery(CSRF) 공격이란?
CSRF 공격 개념
CSRF 공격은 피해자가 의도하지 않은 요청을 서버에 보내도록 유도하는 공격입니다. 공격자는 로그인된 사용자의 세션을 이용해 사용자가 모르는 사이에 계좌이체, 비밀번호 변경 등의 요청을 실행할 수 있습니다.
CSRF 공격 예제
예를 들어, 온라인 뱅킹 사이트에 로그인한 사용자가 악성 웹사이트에 접속했을 때 다음과 같은 코드가 실행될 수 있습니다.
html
<img src="https://bank.com/transfer?amount=10000&to=attacker" />
이 이미지를 로딩하는 순간, 피해자의 계정에서 공격자의 계좌로 돈이 이체될 수 있습니다.
🛡 CSRF 공격 방어 방법
✅ CSRF 토큰 사용: 폼 요청마다 고유한 CSRF 토큰을 포함
✅ SameSite 속성 설정: SameSite=Strict 또는 SameSite=Lax로 설정
✅ Referer Header 검증: 요청 출처가 신뢰할 수 있는 도메인인지 확인
📌 XSS vs. CSRF: 핵심 차이점 요약
비교 항목 | XSS (Cross-Site Scripting) | CSRF (Cross-Site Request Forgery) |
공격 대상 | 웹사이트 방문자 (사용자 브라우저) | 웹 애플리케이션 (서버) |
공격 목적 | 악성 JavaScript 실행 | 피해자의 권한을 이용한 요청 수행 |
필요 조건 | 입력값 검증 취약점 | 피해자가 로그인된 상태여야 함 |
주요 보안 대책 | 입력값 필터링, CSP 적용 | CSRF 토큰, SameSite 쿠키 |
📢 결론: XSS와 CSRF 모두 철저한 방어가 필요하다!
✅ XSS는 사용자의 브라우저를 타겟으로 JavaScript 실행
✅ CSRF는 사용자의 세션을 악용해 서버에 요청 전송
✅ 두 공격 모두 입력값 검증, 보안 정책 강화, 최신 보안 패치 적용이 필수
📚 참고 자료 (APA 스타일 인용)
- OWASP. (2024). Cross-Site Scripting (XSS). Retrieved from https://owasp.org/www-community/attacks/xss/
- OWASP. (2024). Cross-Site Request Forgery (CSRF). Retrieved from https://owasp.org/www-community/attacks/csrf/
- Mozilla Developer Network (MDN). (2024). SameSite cookies explained. Retrieved from https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite
'IT > 보안' 카테고리의 다른 글
SIEM 구축 1편 Wazuh 설치 (0) | 2025.03.24 |
---|---|
로그 분석을 통해 APT 공격을 탐지하는 방법 (0) | 2025.03.24 |
OWASP Top 10 취약점 중 3가지와 대응 방안 (0) | 2025.03.24 |
서버 보안 아키텍처 구축: Wazuh, 방화벽, Fail2Ban, Logwatch 활용 (0) | 2025.03.21 |
시스템 및 네트워크 보안을 위한 핵심 보안 도구 가이드 (0) | 2025.03.21 |
댓글