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

김민종님의 프로필 이미지

작성한 질문수

스프링 시큐리티

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

csrf 토큰 시큐리티 6버전 변경사항

해결된 질문

작성

·

1.1K

·

수정됨

0

안녕하세요 강의 잘 보고있습니다. csrf 토큰 값을 헤더에 넣어서 실습하는 부분 따라해봤는데 잘 안되서 코드를 뜯어봤습니다.

이번에 시큐리티 버전이 6으로 올라가면서 csrf 토큰을 인코딩해서 전달하고 이걸 디코딩하는 부분이 영상과 다른것같았습니다. 그래서 기본으로 제공하는 로그인 페이지에서 디버깅을 해보았는데 클라이언트에 전달한 csrf 토큰값이랑 실제 서버가 가지는 csrf 토큰값이 서로 달랐습니다. 이렇게되면 영상에서 보여주신 실습은 제대로 동작하지 않는게 맞나요?

해당 사진은 CsrfFilter에서 actualToken을 받아오기 위한XorCsrfTokenRequestAttributeHandler 클래스 내부에 존재하는 resolveCsrfTokenValue 함수의 소스코드입니다.

예제 따라하면 항상 마지막에 사이즈 비교하는 부분에서 걸렸습니다.

스크린샷 2023-02-26 오전 2.56.56.png

답변 2

0

정확히 같은 문제로 고생했는데,

https://github.com/spring-projects/spring-security/issues/12377

위 이슈를 보고 해결했습니다.

6으로 버전업하면서 생긴 이슈 같습니다.

0

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

시큐리티 6버전은 강의와 차이나는 부분이 있어 가급적 5.x 버전으로 학습해 주시길 바랍니다

6버전은 새로운 강의 검토 중에 있습니다

김민종님의 프로필 이미지
김민종
질문자

넵 답변 감사합니다.