마지막 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를 통해 스크립트를 삽입 시 실행이 되었으므로 문제가 해결이 되었다.
'XSS game - wargame' 카테고리의 다른 글
[XSS-GAME] Level 5: Breaking protocol (1) | 2024.12.04 |
---|---|
[XSS-GAME] Level 4: Context matter (1) | 2024.12.04 |
[XSS-GAME] Level 3: That sinking Feeling (0) | 2024.12.04 |
[XSS-GAME] Level 2: Persistence is key (0) | 2024.12.03 |
[XSS-GAME] Level 1: Hello, world of XSS (0) | 2024.02.21 |