cookiesamesiteorigin

CSRF를 설명해 주세요

예상 시간
7
30초 답변

꼬리질문

조금 더 깊게 물어본다면

답변 뒤에 이어질 수 있는 질문들을 하나씩 열어볼 수 있어요.

CSRF token은 어떻게 도움이 되나요?

부가 설명

<form action="https://bank.example/transfer" method="POST">
  <input name="amount" value="100000" />
</form>

피해자가 로그인된 상태에서 악성 페이지가 이런 요청을 유도하면 쿠키가 자동으로 붙을 수 있습니다. 서버가 요청 의도를 따로 검증하지 않으면 위험합니다.

CSRF는 XSS와 다릅니다. XSS는 피해자 브라우저에서 공격자의 script가 실행되는 문제이고, CSRF는 사용자의 인증 상태를 이용해 요청을 위조하는 문제입니다.

API를 Authorization header token 기반으로만 호출하고, 공격 페이지가 그 token을 알 수 없다면 전통적인 CSRF 위험은 줄어듭니다. 하지만 저장 위치와 CORS, XSS 위험까지 함께 봐야 합니다.

한 줄 정리

CSRF는 브라우저가 쿠키를 자동으로 보내는 특성을 악용해 사용자가 의도하지 않은 인증 요청을 만들게 하는 공격입니다.