Compit
소개문의요금제개인정보처리방침이용약관환불규정

온드(ONDE) | 대표: 노승현 | 사업자등록번호: 778-22-02215

서울특별시 광진구 긴고랑로 133-1, 401호(중곡동, 백림주택) | 전화: 010-7794-3962

© 2026 Compit. All rights reserved.
COMPIT
챌린지연습장쇼케이스학습랭킹가이드보안기초
챌린지연습장쇼케이스학습랭킹가이드보안기초
← 보안 기초
🎭

CSRF 공격 이해하기

⚠️ 중요

사용자 모르게 요청을 보내는 CSRF 공격과 방어법

CSRF란?

사용자가 로그인된 상태에서, 악성 사이트가 사용자 대신 요청을 보내는 공격입니다. 예: 은행 사이트에 로그인한 상태에서 악성 링크 클릭 → 자동 송금.

❌ 나쁜 예시
<!-- ❌ 악성 사이트의 자동 폼 전송 -->
<img src="https://bank.com/transfer?to=hacker&amount=10000" />
<!-- 또는 -->
<form action="https://bank.com/transfer" method="POST">
  <input type="hidden" name="to" value="hacker" />
  <input type="hidden" name="amount" value="10000" />
</form>
<script>document.forms[0].submit();</script>
✅ 좋은 예시
// ✅ CSRF 토큰 사용
// 서버에서 랜덤 토큰을 생성하여 폼에 포함
<input type="hidden" name="_csrf" value="{serverToken}" />

// ✅ SameSite 쿠키 설정
Set-Cookie: session=abc; SameSite=Strict; Secure; HttpOnly

// ✅ Origin 헤더 검증
if (request.headers.origin !== 'https://mysite.com') {
  return new Response('Forbidden', { status: 403 });
}
← 목록으로다음: CORS 제대로 이해하기 →