data: URL wrapper
iframe, object, embed, link preview 같은 wrapper URL 속성에서 data:text/html 이 허용되어 별도 HTML 문서가 실행되는지 확인한다.
HTML payload 테스트
이 시나리오는 iframe sandbox 가 아니라 사용자 입력이 HTML/DOM 으로 렌더링되는 지점을 검증합니다.
- src/data/href 같은 URL 속성에서 data: 스킴을 기본 차단하는지 확인
- 허용이 필요하다면 MIME type 을 이미지 등으로 좁히는지 확인
- wrapper 태그가 sandbox 없이 HTML 문서를 만들 수 있는지 확인
페이로드
복사할 payload
data: URL 로 생성된 하위 문서가 script 를 실행하고 부모와 통신할 수 있는지 확인한다.
미리보기
미리보기는 학습용으로 의도적으로 unsafe 렌더링을 수행합니다. 실제 서비스에서는 이 payload 가 텍스트로 이스케이프되거나 제거되어야 합니다.
로그
// 로그 없음
해설
data:text/html은 URL처럼 보이지만 브라우저에는 새 HTML 문서를 만들 수 있는 wrapper 입니다.- DOMPurify 같은 sanitizer 에서 태그는 허용하면서 URL 스킴을 넓게 열어두면 iframe/object/embed 조합이 위험해질 수 있습니다.
- embed 기능은 태그 allowlist 와 별개로 URL protocol, host allowlist, sandbox, referrer 정책을 같이 설계해야 합니다.