2012-12-06 3 views
1

CSRF 공격으로 희생자의 브라우저에 이미있는 전역 JavaScript 변수의 내용을 읽을 수 있습니까?CSRF, javascript 및 jquery

사용자가 성공적으로 로그온 할 때 세션에 저장된 CSRFToken 값을 응용 프로그램에 저장 한 다음 응용 프로그램에서 사용할 수 있도록 전역 적으로 액세스 가능한 JavaScript 변수에 저장합니다. jQuery를 사용하여이 값을 응용 프로그램 내의 모든 작업 후 작업에 자동으로 추가합니다. 서버 측에서는 값이 일치하는지 확인하고 일치하는 항목이 없으면 작업을 완료하거나 차단합니다.

내 생각에 CSRF 공격은 다양한 방법으로 배포 할 수 있지만 악성 코드를 실행하려면 피해자를 타사 사이트로 리디렉션해야합니다. 제 3 자 사이트는 예를 들어 양식 요청을 위조하려고 시도 할 수 있지만 CSRFToken의 내용을 알지 못하면 조치가 실패합니다. 물론 .. 그들이 어떻게 든 그것에 도달 할 수없는 한. 이것이 가능한가?

+0

확실하지는 않지만 이것은 좋지 않은 생각입니다. 잘만되면 누군가 나를 고칠 것입니다. – Colleen

+0

원본 아이디어는 http://erlend.oftedal.no/blog/?blogid=118에서 찾았습니다. – Jeff

답변

0

CSRF attack 정의에 따르면 브라우저의 데이터가 타사 사이트 (예 : 공격자)에게 표시 될 필요가 없습니다. 결과적으로 CSRF 공격은 브라우저 내의 어떤 상태 (쿠키 또는 자바 스크립트 변수)도 읽지 못합니다.