인프런 커뮤니티 질문&답변

강성욱님의 프로필 이미지
강성욱

작성한 질문수

스프링 시큐리티

13) 사이트 간 요청 위조 - CSRF, CsrfFilter

https://shop.com/address=공격자주소 csrf 값이 없습니다

작성

·

251

0

강의 7분 6초 즈음에 말씀하신 "https://shop.com/address=공격자주소에 대해서는 csrf 토큰 값이 없습니다" 라는 설명이 잘 이해가 되지 않습니다. csrf 토큰은 처음 요청 때 서버로부터 이미 받은 거 아닌가요?

공격자는 나의 csrf 토큰을 모른다고 하셨는데, 어차피 저 링크를 클릭해서 서버로 요청을 보내는 것도 저 아닌가여? 아니면 저런 식으로 요청을 보낼 때 header에 csrf 토큰을 담게끔 코드가 구현되지 않았기 때문에 csrf 토큰이 안 담긴 채로 서버로 보내진다는 뜻인지요...

답변 1

1

정수원님의 프로필 이미지
정수원
지식공유자

링크를 클릭한다는 의미는 사용자로 하여금 공격자가 유인한 사이트에서 실행한다는 의미입니다.

즉 공격자는 사용자가 이용하는 서비스의 URL 값을 자신이 만든 사이트에 심어 놓고 사용자를 유인한다음 링크를 클릭하게 해서 실제 사용자의 서비스에 접속이 되도록 한다는 의미입니다.

사용자는 이미 로그인이 되어 있기 때문에 세션 쿠키가 만들어진 상태이고 공격자가 심어 놓은 URL 의 액션을 실행한다고 해도 사용자의 서비스 시스템은 정상적인 사용자의 액션이라고 판단하게 됩니다.

그런데 사용자의 서비스 시스템이 해당 액션에 대해 csrf 토큰값을 요구할 경우 공격자의 사이트에는 사용자 서비스에서 사용자에게 발행한 csrf 토큰값을 알수가 없기 때문에 접근이 거부 됩니다.

 

강성욱님의 프로필 이미지
강성욱

작성한 질문수

질문하기