Skip to content
On this page

크로스 사이트 요청 위조(CSRF)

Title
크로스 사이트 요청 위조(CSRF)
Category
Web
Tags
Aliases
크로스 사이트 요청 위조(CSRF)교차 요청 위조CSRFCSRF(교차 요청 위조)XSRF
Related
Created
2 years ago
Updated
last year
  • 신뢰할 수 있는 사용자를 가장하여 웹 사이트에 원치 않는 명령을 보내는 공격이다.

Example

  1. 유저가 공격대상 사이트(https://site-a.com)에 이미 사용자 인증을 수행함.
    • 유저 인증 세션이 브라우저 쿠키에 저장되어 있는 상태
  2. 공격자가 피해자에게 그럴듯한 사이트 링크(https://site-b.com)를 전송하고 접속하게 함.
  3. 링크를 누르고 HTML 문서가 열렸을 때, 아래와 같은 코드로 공격 대상 사이트에 HTTP 요청을 보냄.
    html
    <img
    	src="https://site-a.com/withdraw?account=bob&amount=1000000&for=mallory"
    />
    
    <img
    	src="https://site-a.com/withdraw?account=bob&amount=1000000&for=mallory"
    />
    
  4. 이 요청에는 서드 파티 쿠키가 포함되어 있으므로 공격자가 유도한 공격을 실행할 수 있음.

방어 방법

  1. 서버 요청 시에 CSRF 토큰을 포함시키도록 한다.
  2. 민감한 작업(ex. 세션 쿠키)에 사용되는 쿠키의 동일 사이트(Same Site) 속성을 Strict 또는 Lax로 설정하고, 짧은 수명을 가지게 한다.
  3. 위의 두 방법을 모두 사용해야 한다.

References

Released under the MIT License.