04 · CHAPTER 04 · WEB SECURITY
로그인한 브라우저를
속이는 요청
CSRF와 세션 고정·탈취를 구분하고 중요한 요청을 보호하는 방법을 배웁니다.
실습 범위 안내 이 장의 확인 과정은 본인이 소유하거나 명시적으로 허가받은 교육·실습 환경에서만 수행합니다. 운영 시스템과 제3자의 장비에는 적용하지 않습니다.
WEB SECURITY STUDY NOTE로그인한 브라우저를 속이는 요청CSRF · Session · SameSite · Token
01
도장이 찍혀 있다고 내가 쓴 문서일까?
핵심 용어
CSRF Session SameSite Token
브라우저는 대상 사이트의 쿠키를 자동으로 보내므로 다른 페이지가 요청을 유도할 수 있습니다.
CSRF는 로그인한 사용자의 브라우저가 의도하지 않은 상태 변경 요청을 보내게 합니다.
난수 CSRF 토큰, SameSite 쿠키, Origin 확인과 재인증을 조합해 요청의 출처와 의도를 검증합니다.
02
세션을 지키는 장치
핵심 개념
CSRF Token SameSite Session Rotation Re-authentication Logout
한 가지 속성에 의존하지 않고 요청과 세션 수명 전체를 보호합니다.
CSRF Token폼과 세션을 연결
SameSite교차 사이트 쿠키 전송 제한
Session Rotation로그인 후 식별자 교체
Re-authentication중요 작업 재확인
Logout서버 세션 폐기
03
프레임워크 설정 확인
관련 명령어
php spark routes php spark filter:check post /auth/login grep -n "sameSite\|secure\|httponly" app/Config/Cookie.php app/Config/Session.php CSRF 필터와 세션 쿠키 속성, 상태 변경 라우트의 메서드를 점검합니다.
$ php spark routes
$ php spark filter:check post /auth/login
$ grep -n "sameSite\|secure\|httponly" app/Config/Cookie.php app/Config/Session.php
04
GET 요청으로 상태를 바꾸지 않기
보안 관점
위험 요소 확인 기준 대응 원칙
링크 방문과 이미지 로딩만으로 데이터가 변경되지 않도록 조회와 변경 메서드를 분리합니다.
비밀번호 변경, 계정 연결, 결제 같은 작업에는 현재 비밀번호나 추가 인증을 요구합니다.
인증된 요청과 사용자가 의도한 요청은 같은 말이 아니다.
CHAPTER REVIEW
이번 장에서 기억할 한 문장
중요한 상태 변경은 로그인 여부뿐 아니라 사용자가 의도한 요청인지도 확인해야 한다.