bar.com
사이트에서 JavaScript를로드하는 foo.com
사이트가 있다고 가정 해보십시오. 이제 사이트 bar.com
의 JavaScript가 document.cookies
을 사용하여 쿠키를 읽으려고합니다. 자바 스크립트를 사용하면 소스에 관계없이 브라우저에 설정된 모든 쿠키를 읽을 수 있다는 인상하에있었습니다. 그러나 bar.com
사이트의 JavaScript는 으로 설정된 쿠키에만 액세스 할 수 있으며 다른 쿠키는 액세스 할 수 없습니다. 이 경우 쿠키를 훔치는 스크립트 주입 공격은 어떻게 수행됩니까?자바 스크립트 및 타사 쿠키
답변
그러나 bar.com 사이트의 JavaScript는 bar.com이 설정 한 쿠키에만 액세스 할 수 있으며 다른 쿠키는 사용할 수 없습니다.
사실이 아닙니다. 중요한 것은 <script>
요소가 포함 된 HTML 문서가 src 속성에 언급 된 <script>
이라는 JS 파일의 URL이 아니라는 것입니다. 나는 당신의 문제가 의심
는 속성이 document.cookie
호출 될 때 당신이 document.cookies
에 액세스하는 것입니다 (단수!)
안에 공격 대상 페이지을로드합니다.
예를 들어 블로그 시스템의 주석이 유출되면 페이지가 렌더링 될 때 실행되는 요소가 포함됩니다. 이 스크립트는 쿠키를 가져 와서 공격자의 서버로 보낼 수 있습니다.
은 당신이 결코 신뢰 사용자 입력 및 의견 적어도 특정 태그를 허용 (또는 <
에 대한 모든 <
번역)해야하는 이유는 다음과 같습니다. 이 예방 기법은 쉽게 피할 수 있기 때문에 클라이언트 측에서하지 마십시오. 서버 측에서 악성 입력을 테스트 (및 변경)합니다.
할 수 있습니다 주어진 도메인 이름을 설정 한 경우에만 액세스 쿠키. Wikipedia article on cookies에서 : 이름/값 쌍 옆에
, 또한 쿠키가 암호화 연결에 대해서만 구성되어 있는지 만료일하는 경로, 도메인 이름 등을 포함 할 수있는 쿠키 . RFC 2965에서는 쿠키 에 버전 번호가 지정되어 있지만 일반적으로는 이 생략되었습니다. 이 데이터 조각 은 이름 = newvalue 쌍을 따르며 세미콜론으로 구분 된 입니다. 예를 들어, 쿠키는 서버가 행을 보내어 만들 수 있습니다. Set-Cookie : name = newvalue; 만료 = 날짜; 경로 = /; domain = .example.org.
도메인 및 경로 쿠키 가 다시 서버로 보낼 수있는 브라우저를 말할 때 주어진 도메인과 경로의 요청 URL이 표시됩니다. 지정되지 않은 경우 요청 된 오브젝트 의 도메인 및 경로에 기본값은 입니다. 결과적으로 도메인 및 경로 문자열은 이 정상적으로 쿠키를 보내지 않을 때 브라우저에 쿠키를 보내도록 지시 할 수 있습니다.보안상의 이유로 이유는 서버가 도메인 문자열로 지정된 도메인의 구성원 인 경우에만 으로 허용됩니다.
는 foo.com
경우 그 쿠키를 읽을 수 bar.com
에 다음 자바 스크립트 코드를 bar.com
의 도메인 이름을 가지고 쿠키, 또는 .com
을 보냈다. 그러나 대부분의 브라우저는 도메인 이름이 일치 할 때만 쿠키를 허용하도록 구성되어 이러한 쿠키를 거부합니다.
쿠키가 존재하지만 JavaScript가 쿠키를 읽을 수 없음을 확인했습니다. – roger
- 1. 자바 스크립트 및 PHP의 쿠키
- 2. Facebook 연결 및 타사 쿠키?
- 3. 타사 쿠키 및 전환 추적
- 4. 자바 스크립트 쿠키 디버그
- 5. 자바 스크립트 쿠키 문제
- 6. 자바 스크립트 쿠키 길이
- 7. 자바 스크립트 쿠키
- 8. 자바 스크립트 쿠키 삭제
- 9. 자바 스크립트, PHP, 쿠키
- 10. 자바 스크립트, PHP, 쿠키
- 11. 자바 스크립트 쿠키 및 리디렉션 질문
- 12. 자바 스크립트 쿠키 대 PHP 쿠키
- 13. 타사 컨트롤 및 스크립트
- 14. Safari 자바 스크립트 쿠키 문제
- 15. PHP의 차이와 자바 스크립트 쿠키
- 16. 자바 스크립트 쿠키, 약간의 도움을주세요
- 17. 자바 스크립트 쿠키 변수 문제
- 18. 자바 스크립트 쿠키 기능이 도메인
- 19. 프로젝트에서 타사 자바 스크립트 라이브러리 관리
- 20. 자바 스크립트 리디렉션 전에 쿠키 설정
- 21. 쿠키와 PHP 및 자바 스크립트
- 22. 자바 스크립트 로그인 및 게시물 정보, 쿠키 없음?
- 23. 자바 스크립트 : 쿠키 2 개 생성 및 확인
- 24. 이상한 자바 스크립트/크로스 사이트 쿠키 문제
- 25. 자바 스크립트 localStorage 및 도메인
- 26. jquery 플러그인에서 타사 스크립트 사용
- 27. 쿠키 또는 쿠키 때문에 Chrome이 스크립트 및 RSS를 업데이트하지 않습니까?
- 28. Internet Explorer의 Iframe 타사 쿠키 문제
- 29. 사용자 정의 및 타사 쿠키 기억하기 장고 로그인
- 30. 자바 스크립트 및 Xpath
'http : // ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js'는 CDN이 작동하는 방식이기도합니다. 도메인'stackoverflow.com'에 살고있다. –
@David, 질문을 입력하는 동안 쿠키가 맞춤법 오류였습니다. 방금 alert (document.cookie)로 시도했지만 쿠키를 설정 했음에도 불구하고 빈 문자열을 얻었습니다. 나는 꽤 당황 스럽다. – roger
나는 시험을 수행했다. 도메인은 별다른 차이가 없습니다. 아마도 가져 오려고하는 쿠키가 다른 경로에 있거나 HTTP만으로 설정되었을 것입니다. – Quentin