파일 업로드 미리보기 XSS
SVG, XML, HTML 파일을 업로드 후 미리보기로 렌더링할 때 active content 가 실행되는지 확인한다.
HTML payload 테스트
이 시나리오는 iframe sandbox 가 아니라 사용자 입력이 HTML/DOM 으로 렌더링되는 지점을 검증합니다.
- 업로드 파일을 같은 origin 에서 HTML 로 열지 않는지 확인
- SVG 는 이미지로만 제공하거나 별도 다운로드 도메인/첨부 헤더를 사용하는지 확인
- MIME sniffing 방지를 위해 Content-Type 과 X-Content-Type-Options 를 설정하는지 확인
페이로드
복사할 payload
업로드된 SVG 를 img 로만 쓰는지, inline/object/embed 로 렌더링하는지 확인한다.
미리보기
미리보기는 학습용으로 의도적으로 unsafe 렌더링을 수행합니다. 실제 서비스에서는 이 payload 가 텍스트로 이스케이프되거나 제거되어야 합니다.
로그
// 로그 없음
해설
- 파일 업로드 XSS 는 저장형 XSS와 비슷하지만, 위험 표면이 첨부파일 미리보기/다운로드 도메인/운영자 검수 화면으로 퍼집니다.
- SVG 는 이미지처럼 보이지만 XML 기반 문서라서 inline 렌더링, object/embed, 잘못된 MIME type 에서 active content 문제가 생길 수 있습니다.
- 사용자 업로드 파일은 가능하면 별도 cookie 없는 도메인에서 제공하고, HTML 로 inline 실행되지 않도록 Content-Disposition 과 MIME 정책을 고정하세요.