2016-08-29 4 views
0

나는 CSRF를 읽고이 질문을 보았습니다. https://security.stackexchange.com/questions/36671/csrf-token-in-get-requestGET API에 대해 CSRF 보호 기능을 포함하지 않는 이유는 무엇입니까?

온라인으로 여러 사람이 CSRF에 대한 GET 요청을 보호해서는 안된다는 것을 나타냅니다. 그러나, 나는 왜 혼란 스럽다.

GET 요청에 중요한 정보가 들어있는 경우 (예 : 사용자의 개인 정보를 말한 경우) CSRF로부터 보호해야합니다. 그렇지 않으면 공격자가 개인 정보를 도용 할 수 있습니다.

토큰이있을 수 있으므로 GET URL에 토큰을 포함하면 안됩니다. 그러나 사용자 정의 헤더에 포함시킬 수는 없습니까?

답변

2

CRSF 공격은 장님입니다. 그들은 대개 작업 결과를 읽을 수 없어도 요청을 보냅니다. 그 이유는 동일 출처 정책입니다.

SOP는 다른 출처에서받은 응답을 읽을 수 없도록하므로 개인적인 용도로는 액세스 할 수 없습니다.

CRSF 보호하는 대신 요청이 그래서 당신이 말하는 웹 응용 프로그램 자체

+0

에 의해 시작되었는지 상징하는 토큰을 추가하는 의미에서 요청을 보호하는'xyz.com'은 ABC 방송'에 GET 요청을 만드는 경우 .com', 그러면'xyz.com'이 실제로'abc.com'의 응답을 읽을 수있는 방법이 없습니까? – wlingke

+0

또한 GET 경로에 csrf 보호 기능을 추가 할 때 단점이 있습니까? – wlingke

+0

일반적인 카드 공격의 경우 누군가 다른 웹 사이트에 계정이있는 웹 사이트의 양식이나 행동을 퍼가는 경우가 있습니다. 예를 들어 포럼을 방문하면이 포럼에서 공격자가 은행의 송금 요청 양식을 삽입 할 수 있습니다. 어쩌면 현재 귀하의 은행 계좌에 로그인하셨습니까? CSRF 토큰이 없으면 그 요청이 효과가있을 수 있습니다. –

관련 문제