나는 뭔가를 놓치고 있다는 것을 알고 있습니다. 다음 상황을 고려하십시오. 나는 goodbank.com이라는 웹 사이트를 운영합니다. URL http://goodbank.com/transfer/은 GET에서 다른 페이지로 돈을 이체하는 양식과 함께 HTML 페이지를 제공합니다. 이 양식에는 CSRF 공격을 막기위한 임의의 토큰이 있습니다. 서버에서 토큰의 유효성이 POST에서 확인되고 해당 컨트롤러가 인증 된 세션 만 허용합니다.CSRF 토큰이 악의적 인 GET과 다른 탭에서 POST로 이어지는 것을 어떻게 보호합니까?
브라우저에서 goodbank.com/에 로그인한다고 가정 해 보겠습니다. 다른 탭에서는 robgoodbank.com으로 이동합니다. 검색 페이지의 일부로 유효한 양식을 얻기 위해 goodbank.com/transfer/에 AJAX 요청을 수행하는 자바 스크립트가 있습니다. 그런 다음 양식의 다른 필드를 채우고 POST를 수행합니다. 내 계정이 밖으로 청소 :(
어떻게 기존 않습니다 보호 체계는 이러한 공격으로부터 보호?
사전에 감사합니다. 서버가 Cross Origin Resource Sharing을 허용하지 않는
이
여기에 중요한 수정 사항은 참조 자 및 원점 확인입니다. 그것들이 없으면 숨겨진 iframe에서 GET 요청을 수행하여 후속 POST 요청에서 사용할 수있는 모든 종류의 anti-csrf 토큰을 추출하기가 쉽습니다. –