문제

브라우저가 동일한 원산지 정책을 xmlhttprequest에 적용하는 이유는 무엇입니까? 개발자에게는 실제로 불편하지만 실제로 해커를 멈추는 것은 거의없는 것 같습니다. 해결 방법이 있으며 외부 소스 (JSONP의 전원)의 JavaScript를 여전히 포함시킬 수 있습니다.

웹에서 구식 "기능"처럼 보입니다.

도움이 되었습니까?

해결책

xmlhttprequest는 사용자의 인증 토큰을 통과하기 때문입니다. 사용자가 기본 인증 또는 일부 쿠키로 example.com에 로그인 한 경우 공격자.com을 방문한 경우, 후자의 사이트는 해당 사용자에 대한 전체 승인을 통해 examplettprequest에 xmlhttprequest를 만들고 사용자가 할 수있는 개인 페이지를 읽을 수 있습니다. 공격자에게 다시 전달하십시오).

WebApp Pages에 비밀 토큰을 넣는 것이 간단한 크로스 사이트 요청 forgery 공격을 중단하는 방법이기 때문에 공격자는 사용자가 동의 나 상호 작용없이 example.com에서 할 수있는 온 페이지 조치를 취할 수 있음을 의미합니다. 글로벌 XMLHTTPREQUEST는 글로벌 크로스 사이트 스크립팅입니다.

(인증을 전달하지 않은 XMLHTTPREQUEST 버전이 있더라도 여전히 문제가 있습니다. 예를 들어 공격자는 인트라넷의 다른 비 공개 머신에 요청하고 다운로드 할 수없는 파일을 읽을 수 있습니다. 공공 소비를위한 것입니다. <script> 태그는 이미 이런 종류의 취약점의 제한된 형태로 고통 받고 있지만, XMLHTTPREQUEST의 완전히 읽을 수있는 응답은 불행히도 자바 스크립트로 구문 분석 할 수있는 몇 가지 불행히도 만들어진 파일 대신 모든 종류의 파일을 누출 할 것입니다.)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top