CSRF 토큰 질문
574
작성한 질문수 1
안녕하세요. 강사님
아래 CSRF 질문과 비슷한 내용인데 잘 이해가 가지 않아서 질문드립니다.
이미 사용자가 로그인되어 있는 인증된 상태라고 한다는 가정하에
사용자는 이미 로그인이 되어 있기 때문에 세션 쿠키가 만들어진 상태이고 공격자가 심어 놓은 URL 의 액션을 실행한다고 해도 사용자의 서비스 시스템은 정상적인 사용자의 액션이라고 판단한다고 하는 부분은 이해가 됩니다.
질문입니다.
여기서도 사용자가 이미 로그인 되어 있을 때 csrf 토큰 값도 만들어져 있어서 가져올 수 있는 것 아닌가요..?
여기 답변이 잘 이해가 안갑니다.
사용자의 서비스 시스템이 해당 액션에 대해 csrf 토큰값을 요구할 경우 공격자의 사이트에는 사용자 서비스에서 사용자에게 발행한 csrf 토큰값을 알수가 없기 때문에 접근이 거부 됩니다.
답변 1
0
강사님이 남겨주신 답변을 계속보다가 생각해봤습니다.
사용자가 이미 인증을 받고 서버가 응답헤더에 csrf 쿠키를 담아서 사용자에게 보냈다고 하더라도 이후에 요청할 때는 csrf 토큰을 요청할텐데
공격자가 심어놓은 공격용 HTML 페이지에 이미지 태그를 클릭하거나 src에 심어놓은 URL의 액션을 실행하더라도 이때에는 토큰값을 알수가 없기 때문인거군요..
맞을까요..?
1
네 맞습니다.
공격자의 사이트에는 사용자가 서버로부터 발급받은 csrf 토큰값을 알 수 없습니다.
만약 아래와 같은 코드가 공격자의 사이트에 구현이 되어 있습니다.
<form action="http://usershop.com/api/content" method="post">
<input type="hidden" name="address" value="attacker address value" />
<input type="submit" value="Click Me"/>
</form>사용자가 위 사이트에 접속해서 폼을 실행한다 하더라도 서버가 사용자에게 발급한 csrf 값 자체가 없기 때문에 실제 사용자의 서비스에서는 요청을 거부하게 된다는 의미입니다.
inf009 님께서 이해하신 내용 그대로입니다.
시큐리티 공부 버전 질문
0
176
1
[해결 방법] MethodSecurityConfig.customMethodSecurityMetadataSource() 호출하지 않는 이슈
0
187
1
AbstractSecurityInterceptor.class.beforeInvocation()를 2번 실행하는 경우
0
179
1
강의 코드가 왜이렇게 뒤죽박죽인가요...
0
253
1
메인 페이지로 접속해도 login url로 리다이렉트가 되지 않습니다..
0
238
1
파라미터값이 넘어가지 않습니다 ....
0
375
1
security filterChain 설정 질문이 있습니다.
0
332
1
소스 부분 질문 드립니다.
0
210
2
섹션4 7번 강의 문제가 있는거 같네요.
0
345
2
파일이 수시로 이름이 바껴있네요 ㄷㄷ
0
306
1
HttpSessionSecurityContextRepository를 사용안하는 문제
0
557
2
error , exception 이 잘 안됩니다.
0
284
2
thymeleaf tag 질문합니다.
0
198
2
버전업하면서 deprecated된 것들이 너무많아요
0
478
1
spring security 패치 관련
0
437
1
모바일을 사용할때 토큰말고 세션
0
850
2
DB 연동한 인가 부분에 대한 질문입니다!
0
265
1
Ajax방식도 똑같이 Session방식을 사용하는건가요?
0
308
1
Config 파일 생성 시 질문이 있습니다.
0
228
1
강사님 몇일동안 구글 검색만 100개 했는데도 이유를 모르겠습니다..
1
433
2
403 에러 뜹니다.
0
813
2
login_proc의 존재에 대한 간략한 설명입니다
0
277
1
top.html에 로그인 링크를 만들어서 로그인을 해봤습니다
0
288
2
안녕하세요. DB에 저장될 때 이해 안 가는 값이 있어서 질문드립니다!
0
191
1





