도메인 abc.com에는 2 개의 iframe이있는 페이지가 있습니다. 둘 다 도메인 xyz.com에서로드됩니다. XSS 보안이 JavaScript 액세스/통신 /이 두 iframe 간의 상호 작용을 차단합니까?XSS 보안. 같은 도메인에서 2 iframe 간의 통신
답변
Joel이 말한 것처럼 Same Origin Policy은 부모 창까지 액세스를 차단합니다.
은 쿠키를 사용하여 동일한 도메인의 서로 다른 문서/프레임/창에있는 클라이언트 측 스크립트간에 통신 채널을 설정합니다. 한 문서는 쿠키를 쓰려면 document.cookie
을 설정하고 그 다음은 간격 폴러에서 document.cookie
을 읽고 새 메시지를 찾아서 메시지로 처리합니다.
각 문서가 자신을 식별하고 메시지를 보내는 사람과시기를 알려야하기 때문에 실제로는 다소 짜증이납니다. 최후의 수단 방법, 정말로.
예, 다른 프레임의 문서에 대한 참조를 얻으려면 상위 문서를 사용해야합니다.
var otherDocument = window.parent.frames[x].document;
// this will fail ---------^
액세스 형제 프레임은 잠재적 취약점으로 해석 될 수있는, 당신은 부모 문서가로드 다른 어떤 도메인을 결정하기 위해 허용 할 수 있습니다.
iframe은 동일한 기본 정책 (SOP)에 의해 자바 스크립트로 기본 페이지의 콘텐츠를 가져올 수 없습니다.
그러나 쿠키를 사용하여 서버에 POST (일부 범위 내리기) (CSRF라고 함)를 호출 할 수 있습니다. 따라서 보안을 위해 세션 쿠키에만 의존하지 마십시오.
이 문제를 방지하는 좋은 방법은 서버 호출시 전달하는 기본 페이지 (iframe에서 보이지 않는 토큰)를 사용하는 것입니다.
글쎄, 의사 소통의 의미에 달려 있습니다. 어떤 종류의 의사 소통이 가능해 보입니다. 다음은 그 예이다 : www.abc.com에 HTML :
<iframe name="test1" src="http://www.xyz.com/frame1.html">
<iframe name="test2" src="http://www.xyz.com/frame2.html">
iframe을가 우리가 프레임 2에서이 작업을 수행 할 수 있습니다라는 이름 때문에 :
<a href="javascript:alert(document.body.innerHTML)" target="test1">click me</a>
그래서 우리는 프레임 2에있는 링크를 클릭하지만, 프레임 1의 내용이 표시됩니다.
이것이 작동하면 생명의 은인입니다! –
소형 데모 : http://erlend.oftedal.no/blog/demo/frames/ – Erlend
데모는 FF 및 IE에서 작동하지만 Chrome 또는 Opera에서는 작동하지 않습니다. –
- 1. C# 클라이언트와 PHP 서버 간의 보안 통신
- 2. Adobe Air와 서버 간의 통신 보안
- 3. 2 Flex Playbook 응용 프로그램 간의 통신
- 4. 2 개의 Flex 어플리케이션 간의 통신
- 5. 2 개의 Firefox 부가 기능 (교차 확장 통신) 간의 통신
- 6. 같은 컴퓨터에있는 두 프로그램 간의 통신 - 어떻게?
- 7. 2 시스템에서 2 개의 웹 서비스 간의 통신
- 8. AppleScript와 FileMaker 간의 통신
- 9. 도메인 간 iframe 통신
- 10. XSS 공격과 스타일이 같은
- 11. 사용자 컨트롤 간의 통신
- 12. 원격 서블릿 간의 통신
- 13. 사용자 컨트롤 간의 통신
- 14. 여러 서버 간의 통신
- 15. 다른 양식 간의 통신
- 16. iOS와 OSX 간의 통신
- 17. 클러스터 노드 간의 통신
- 18. 포틀릿과 서블릿 간의 통신
- 19. C++ 객체 간의 통신
- 20. 웹 페이지와 Excel 간의 통신?
- 21. 동일한 도메인에서 2 개의 스크립트가있는 경우 교차 도메인이 필요합니까?
- 22. Linux에서 커널 스레드 간의 통신
- 23. 두 서브넷 마스크 간의 통신
- 24. 게임 프로그래밍 - 2 차원 게임 개체 간의 통신
- 25. 동일한 웹 페이지에서 2 개의 Flex/Flash 앱 간의 통신
- 26. Struts 2 - XSS 관련 질문
- 27. 두 프로그램 간의 입출력 통신
- 28. .net winform과 webform 간의 통신
- 29. Silverlight의 사용자 컨트롤 간의 통신
- 30. 보안 통신 오류입니다. FTP
아주 좋은 생각 +1 쿠키 값을 관찰하는 방법은 무엇입니까? –
아니, 투표 루프 (setInterval)를 계속 살펴 봐야합니다. – bobince
쿠키가 커지면 요청이 끊어집니다 (요청 헤더 세트의 크기에는 제한이 있음). – Erlend