Same-Origin Policy probe (what is blocked)
Try to reach parent.document, parent.localStorage, parent cookies — confirm what SOP actually blocks.
按 sandbox 策略的行为
| 策略 | 预期结果 |
|---|---|
| 无 sandbox | 阻止 |
sandbox="allow-scripts" | 阻止 |
sandbox="" (最严) | 阻止 |
此场景由 Same-Origin Policy 直接阻止,与 sandbox 无关。
Embed 代码
此代码使用专用嵌入页面。粘贴到您的服务后检查渲染或拦截行为。
<iframe src="https://xss-playground.com/embed/sop-probe?lang=zh" title="XSS Playground - Same-Origin Policy probe (what is blocked)" width="600" height="420" loading="lazy" referrerpolicy="strict-origin-when-cross-origin"></iframe>
이 페이지는 "안 되는 것" 을 확인하는 페이지입니다. 모든 시도가 차단되어야 정상입니다. 부모와 같은 origin (같은 사이트 내) 에서 임베드 한 경우에는 일부가 성공할 수 있습니다.
실행
// 로그 없음
해설
- cross-origin iframe 은 부모의 DOM, storage, cookie 를 직접 읽지 못합니다. 이게 진짜 SOP 가 보호해 주는 영역입니다.
- 반면
parent.location쓰기,parent.postMessage, form submit, fetch 송신 자체 는 cross-origin 이어도 허용됩니다. 차단은 모두 sandbox 와 부모 측 검증에 의존합니다. - cross-origin iframe 의 위험 표면은 직접적인 부모 데이터 탈취보다 "사용자 기만", "메시지 핸들러 오용", "자동 요청" 쪽에 더 가까울 때가 많습니다. 이 페이지를 돌려보면 그 경계가 분명해집니다.