Same-Origin Policy 프로브 (실패 확인용)
부모 DOM, storage, cookie 접근 시도를 통해 SOP 가 실제로 막는 영역과 허용하는 영역을 확인한다.
sandbox 정책별 동작
| 정책 | 예상 결과 |
|---|---|
| sandbox 미부착 | 차단됨 |
sandbox="allow-scripts" | 차단됨 |
sandbox="" (가장 엄격) | 차단됨 |
이 시나리오는 sandbox 와 별개로 Same-Origin Policy 가 직접 차단합니다.
임베드 스니펫
이 코드는 임베드 전용 페이지를 사용합니다. 본인 서비스에 그대로 붙여 넣고 렌더링/차단 여부를 확인하세요.
<iframe src="https://xss-playground.com/embed/sop-probe?lang=ko" title="XSS Playground - Same-Origin Policy 프로브 (실패 확인용)" 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 이어도 허용될 수 있습니다. - cross-origin iframe 의 위험 표면은 직접적인 부모 데이터 탈취보다 사용자 기만, 메시지 핸들러 오용, 자동 요청 쪽에 가까울 때가 많습니다.