클립보드 hijack
copy 이벤트를 가로채 클립보드 내용을 덮어쓴다.
sandbox 정책별 동작
| 정책 | 예상 결과 |
|---|---|
| sandbox 미부착 | 동작함 |
sandbox="allow-scripts" | 동작함 |
sandbox="" (가장 엄격) | 차단됨 |
임베드 스니펫
이 코드는 임베드 전용 페이지를 사용합니다. 본인 서비스에 그대로 붙여 넣고 렌더링/차단 여부를 확인하세요.
<iframe src="https://xss-playground.com/embed/clipboard-hijack?lang=ko" title="XSS Playground - 클립보드 hijack" width="600" height="420" loading="lazy" referrerpolicy="strict-origin-when-cross-origin"></iframe>
실행
여기서 이 줄을 직접 선택해서 복사(Cmd/Ctrl+C) 해 보세요. 클립보드에 다른 내용이 들어갑니다.
// 로그 없음
해설
copy이벤트는 자기 origin 페이지 안에서 자유롭게 가로챌 수 있습니다. 사용자가 서비스 콘텐츠 안의 일부 텍스트를 복사한 줄 알았는데 실제 클립보드에는 다른 내용이 들어갈 수 있습니다.- 공격 가치 예시: 송금 주소를 비슷한 형태의 다른 주소로 갈아 끼우기, 쉘 명령어를 위험한 명령어로 바꾸기.
navigator.clipboard.writeText는 사용자 제스처 + 포커스 + permissions 가 필요해서 자동 호출은 보통 차단됩니다.- sandbox 빈 값(
sandbox="") 이면 JS 가 막혀서 이 공격도 차단됩니다.