[XSS-GAME] Level 6: Follow The ?

마지막 6번 문제를 풀어보겠다.

 

 

해당 페이지는 src 속성을 통해 /static/gadget.js 이라는 외부 스크립트 파일을 불러오는것을 확인할 수 있으며, 여기의 입력값에는 어떤 필터링이 있는지를 확인하기 위해 ' , " , > 를 삽입하여 보았다.

특수문자 삽입

" , > 가 URL 인코딩이 되어 %22, %3E 가 되는것을 확인이 되므로 src 속성을 탈출할 수 없기 때문에 src 속성안에 스크립트를 삽입하여 동작시켜야 한다.

 

하지만

javascript:alert(1);

 

위의 코드를 삽입하였을 경우 작동이 되지 않았다. 

https://www.tcpschool.com/html-tag-attrs/script-src

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

검색해본 결과 script 태그의 src 는 외부의 스크립트를 불러오는 것으로 되지 않았다.

 

그렇기 때문에 외부 스크립트 URL을 삽입하여야 하지만 XSS치트시트 에서 Data URL Schema 를 통하여 스크립트를 삽입할 수 있다는 것을 확인이 되었다. 

 

DATA URL Schema : https://chandlerbong.tistory.com/96

 

 

Data URL Schema

Data URL Schema 접두어가 data: 스키마로 추가된 URL을 통해 문서에 인라인 형태로 포함할 수 있다. 외부 데이터를 URL 형태로 표현하는 방법이다. img 태그를 사용할 때, src 속성 값으로 이미지 파일이

chandlerbong.tistory.com

 

 

문제해결

DATA URL Schema를 통해 스크립트를 삽입 시 실행이 되었으므로 문제가 해결이 되었다.