2016-06-08 4 views
1

우리는 angularjs 어플리케이션을위한 토큰 기반 OAuth 인증 메커니즘을 가지고 있습니다. acunetix 도구는 XSRF 위협이 있음을 나타냅니다.토큰 기반 인증의 CSRF

CSRF는 토큰 기반 인증에서 문제가됩니까 (사용자 식별/인증/세션에 쿠키를 사용하지 않았기 때문에)?

토큰 기반 인증에서 CSRF가 문제가되는 경우 쿠키를 사용하지 않고 예방을 구현할 수있는 방법이 있습니까?

답변

3

토큰 기반 인증은 CSRF의 영향을받지 않습니다. 예 : 쿠키를 사용하면 악의적 인 사용자가 사이트에 사용자를 유혹하여 사이트에 게시 할 특별한 버튼을 만들 수 있습니다. 여기에서 CSRF를 사용하면 사용자를 대신하여 요청을 실행할 수 있습니다.

예를 들어 세션/로컬 저장소에 저장된 토큰을 사용하면 요청과 함께 자동으로 전달되지 않습니다. 각도 인터셉터 또는 이와 유사한 기술을 사용하여 모든 XHR 요청과 함께 전달할 수 있습니다. 이것은 자동으로 발생하지 않습니다.

토큰 인증에 대한 자세한 내용은 this에 게시 할 수 있습니다. 포인트 넘버 6에는 XSRF/CSRF, XSS에 대한 약간의 섹션이 있습니다.

이러한 소규모 보안 도구는 내 경험에 비추어 볼 때 자신을 더 "중요"하게 만드는 것이 사실이 아닌 것을 알려줄 수 있습니다. 그러나 CSRF를 어떻게 실행할 계획인지 정확하게 알면 무엇이 가능하다고 생각하는지 정확히 알면 흥미로울 것입니다. 예 : 당신이 놓친 쿠키가있을 수 있습니까?

P. XSS 공격 (토큰을 훔치기)은 쿠키와 마찬가지로 HTTP 전용을 설정할 수 있기 때문에 토큰으로 더 많은 가능성을 갖게됩니다. 그래서 어떤 성공적인 XSS도 토큰을 읽을 수있게 될 것이기 때문에 당신은 자신의 토큰을 확실히 보호 할 필요가 있습니다. 하지만 일반적으로 프레임 워크에서 잘 다루어집니다.