XSS Data URL Schema

강혜인·2025년 5월 29일

WEB_Hack

목록 보기
5/18

Data URL Schema

이미지 같은 외부 데이터를 URI형태로 표현하는 방법

→ 이미지, 플래시, 텍스트 등의 데이터를 URI로 표현하는 방식

외부 호출 없이, 데이터를 웹 페이지에 정착(inline)할 수 있음

cache에 저장하지 못하고, 사이즈가 증가하지만 서버의 응답 횟수를 단축하고 데이터가 저장된 경로를 은닉하며 일부 보안 프로그램의 필터링을 우회하기도 함

문법

data:[자료타입],[데이터];

data:[][;base64],

  • mediatype : MIME 타입으로, 생략시 기본값 test/plain;charset=US-ASCII
  • base64 : 데이터가 텍스트가 아닌 경우 base64 인코딩된 데이터가 필요

특징

  • 소스 코드 내 삽입
    • 추가적인 HTTP 요청이 일어나지 않음
    • 캐싱되지 않음
  • 용량
    • base64 포맷으로 인코딩하면 원본 파일보다 더 용량이 커짐
  • 긴 문자열
    • 브라우저에 따라 문자 길이에 제한이 있기 때문에, 용량이 큰 이미지 등은 처리하지 못할 수 있음
    • 소스코드 상에 삽입하면 소스 가독성이 떨어질 수 있음

0개의 댓글