DOM innerHTML sinkEMBEDDED

location, hash, postMessage 등에서 온 문자열을 innerHTML 같은 unsafe sink 에 넣을 때 DOM 기반 XSS 가 발생하는지 확인한다.

DOM sink 테스트

이 시나리오는 iframe sandbox 가 아니라 사용자 입력이 HTML/DOM 으로 렌더링되는 지점을 검증합니다.

  • untrusted source 가 innerHTML, outerHTML, insertAdjacentHTML 로 들어가는지 확인
  • textContent / DOM API 기반 렌더링으로 대체 가능한지 확인
  • 클라이언트 라우터, hash, postMessage payload 를 sink 에 넣기 전 검증하는지 확인

페이로드

복사할 payload

innerHTML 에 들어갔을 때 이벤트 핸들러가 실행되는지 확인.

붙여넣을 곳

본인이 권한을 가진 dev/staging의 에디터, 댓글, 프로필 또는 HTML 렌더링 입력란

판정 기준

실행되면 위험 신호입니다. 코드가 텍스트로 표시되거나 위험 요소가 제거되어야 기대한 방어 결과입니다.

미리보기

미리보기는 학습용으로 의도적으로 unsafe 렌더링을 수행합니다. 실제 서비스에서는 이 payload 가 텍스트로 이스케이프되거나 제거되어야 합니다.

로그

// 로그 없음

해설