popup / window.open 스팸
window.open 으로 새 창을 띄운다. 자기 origin 으로 띄우면 다양한 피싱 UI 가 가능.
sandbox 정책별 동작
| 정책 | 예상 결과 |
|---|---|
| sandbox 미부착 | 동작함 |
sandbox="allow-scripts" | 차단됨 |
sandbox="" (가장 엄격) | 차단됨 |
임베드 스니펫
이 코드는 임베드 전용 페이지를 사용합니다. 본인 서비스에 그대로 붙여 넣고 렌더링/차단 여부를 확인하세요.
<iframe src="https://xss-playground.com/embed/popup-spam?lang=ko" title="XSS Playground - popup / window.open 스팸" width="600" height="420" loading="lazy" referrerpolicy="strict-origin-when-cross-origin"></iframe>
실행
// 로그 없음
해설
- 브라우저는 사용자 제스처 없는 window.open 을 막아 주지만, 사용자가 iframe 영역을 한 번이라도 클릭한 직후라면 보통 통과합니다.
sandbox에allow-popups키워드가 없으면 차단됩니다. 임의 호스트 iframe 을 허용한다면 이 키워드는 빼는 게 맞습니다.- 새 창이 부모와 같은 origin 이면 opener 를 통한 tabnabbing 도 가능합니다. cross-origin 부모는 직접 영향이 적지만,
opener.location변경은 cross-origin 이어도 허용되는 점을 기억하세요.