그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
로그인
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

질문 목록Security
Security

CSRF 공격에 대해서 설명해주세요.

실무5/5
설계4/5
인간4/5
기초3/5

면접관의 질문 의도

CSRF를 "토큰 한 줄 깔면 된다"로 외운 사람과, 시나리오를 분해해서 어떤 동작이 위험하고 어떤 방어 계층을 어떻게 조합할지 답하는 사람을 가른다. 후속은 보통 SameSite 옵션 차이·SPA/모바일 환경에서의 방어·OAuth/SSO 콜백 동선으로 이어진다.

큐레이션 답변

학습 자료

CSRF(Cross-Site Request Forgery)는 사용자가 어떤 사이트에 로그인된 상태에서 다른 사이트가 그 사이트로 요청을 보내게 만들어, 브라우저가 자동으로 쿠키·인증 정보를 실어 보내는 점을 악용하는 공격이다. 핵심은 "요청을 누가 보냈는가"가 아니라 "브라우저가 인증 정보를 자동으로 끌고 가는가"에 있다. 그래서 방어도 한 가지 도구가 아니라 계층 조합이다 — 서버가 발급해 폼·요청에 끼우는 CSRF 토큰을 매 변경 요청에서 검증하고, 세션 쿠키를 SameSite Lax/Strict로 두어 크로스 사이트 자동 전송 자체를 줄이며, 위험 동작에는 재인증·OTP 같은 추가 확인을 끼운다. "하나만 깔면 끝"이 아니라 "여러 계층으로 위험을 깎는다"는 접근이 본질이다.

좋은 답변 구조

  1. 01CSRF 공격 시나리오를 "로그인 상태 + 브라우저 자동 쿠키 전송 + 다른 사이트가 보낸 요청" 흐름으로 분해해 설명한다
  2. 02왜 쿠키 기반 인증과 GET 부작용 같은 자리가 특히 취약한지 핵심 의사결정 지점을 짚는다
  3. 03CSRF 토큰·SameSite 쿠키·Origin/Referer 검증·재인증 같은 방어 계층을 대안으로 비교한다
  4. 04SPA·모바일·외부 콜백 같은 환경별로 어떤 조합이 맞는지를 시나리오 기준으로 정리한다

자주 실수하는 포인트

XSS와 CSRF를 같은 "웹 보안"으로 묶고, 둘이 공격하는 신뢰 관계와 방어 도구가 다르다는 점을 못 짚는다
Referer/Origin 검사만 깔고 "이걸로 충분하다"고 보고 토큰 검증을 생략한다
상태를 바꾸는 요청을 GET으로 받아 두면 링크 클릭만으로도 동작이 일어난다는 점을 인지하지 못한다
헤더 기반 토큰 인증(SPA에서 Authorization 헤더로 토큰 전송) 환경에도 쿠키 시절의 CSRF 토큰을 그대로 끼워, 의미 없는 토큰을 운영한다

실무 맥락

  • 세션 쿠키 기반 인증으로 폼·관리자 화면을 운영하는 전통적인 웹 서비스
  • 결제·계좌 이체·계정 정보 변경처럼 한 번의 잘못된 요청이 곧 금전 피해로 이어지는 API
  • 관리자 권한 동작이 많은 어드민 콘솔에서 일반 사용자보다 더 강한 추가 검증이 필요한 환경
  • OAuth/SSO 콜백과 사내 도구가 같은 도메인에 묶여 있어 크로스 사이트 동선과 정상 동선이 헷갈리는 환경

본인 경험에 녹이는 힌트

CSRF 필터·토큰 검증을 도입하면서 어떤 엔드포인트를 보호하고 어디는 풀어줬는지 결정해 본 경험이 있다면 "위험 동작 식별" 단계의 사례로 풀 수 있다

쿠키를 SameSite=Lax 또는 Strict로 옮기면서 외부 콜백·OAuth 동선이 깨졌다 다시 살린 경험이 있다면 SameSite 트레이드오프를 본인 사례로 말할 수 있다

SPA에서 헤더 기반 토큰 인증으로 옮기면서 기존 CSRF 토큰을 어떻게 정리했는지 떠올릴 수 있다면 "인증 모델에 따라 방어가 다르다"는 시각으로 연결할 수 있다

보안 점검·모의 해킹 보고서에서 CSRF 항목을 받아 본 경험이 있다면 보고서가 어떤 방어 계층의 부재를 지적했는지로 답을 한 단계 깊게 만들 수 있다

커뮤니티 인기 답변

전체 0개

아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.

관련 꼬리 질문

Q1CSRF 토큰과 JWT 기반 헤더 인증은 어떤 관계이고, 둘을 같이 써야 하는 환경은 어떤 경우인가요
Q2SameSite Lax와 Strict는 어떤 동선에서 차이가 나고, 외부 콜백이 필요한 서비스는 어떻게 풀어야 하나요
Q3CSRF와 CORS는 어떻게 역할이 다른가요. CORS만으로는 왜 CSRF를 막을 수 없나요
Q4GET 요청에 상태 변경 부작용이 섞여 있는 레거시 API를 발견했을 때, CSRF 관점에서 어떤 순서로 정리하나요
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문