본문 바로가기
Security/Web Hacking

[XSS Game] Level 3

by 단월໒꒱ 2022. 1. 14.

 

 

이전 단계의 문제들처럼 스크립트를 삽입해서 자바스크립트 alert 팝업을 띄우라고 한다.

하지만 입력을 할 수 없기 때문에 url 주소창을 수정하라고 이야기하고 있다.

 

 

 

 

실제로 화면을 보니 값을 입력하는 데는 없었고 오로지 주소창만 수정 가능했다.

그리고 이미지 1, 2, 3 창을 넘나들 때마다 url위의 숫자가 1, 2, 3으로 바뀌는 것을 확인했다.

 

 

html += "<img src='/static/level3/cloud" + num + ".jpg' />";

 

 

일단 아무것도 없는 상태에서 고민을 하다가 스크립트 태그에 alert를 넣어서 해보았는데 역시나 작동되지 않았다.

잘 모르겠어서 소스코드를 살펴보다가 위의 코드를 발견했다.

아까 이미지 1, 2, 3을 왔다갔다 할 때마다 url 뒤에 있는 숫자가 바꼈었는데 이를 통해 그 수가 위의 코드의 num에 해당하는 값일 거라고 예상했다.

저 img 태그 안에서 어떤 값을 입력해서 alert를 띄워야하는데 여기서 지난 레벨에서 사용했던 내용이 생각났다.

 

 

<img src='파일이름' onerror="alert(1)"/>

 

 

지난 단계에서 사용했던 것을 가져왔다.

입력된 파일이름에 해당하는 파일이 없을 시, 에러가 발생하며 스크립트를 실행하는 코드이다.

여기에서는 그림이 3까지 있으므로 존재하지 않는 파일 4를 넣어주고 바로 위의 onerror가 있는 코드를 적당히 url에 맞춰 끼워맞춰 넣었다.

 

 

 

 

4' onerror="alert(1)"> 이렇게 입력해주었다.

 

 

 

 

 

 

입력한 뒤 Go를 누르니 alert 팝업창이 뜨며 문제를 해결할 수 있었다.

 

 

 

 

 

 

뒤늦게 힌트를 확인해보았다.

3번에서 html에 들어갈 수 있는 부분을 찾아보라고 하고 있는데 아까 위에서 찾았던 num 부분이 여기에 해당하는 듯 하다.

그리고 처음에 시도했다가 실패했는데, 페이지가 로드된 후에는 스크립트를 추가해도 실행이 되지 않는다는 점 때문에 단순히 스크립트를 추가하는 것 만으로는 안 됐던 것 같다.

 

 

 

'Security > Web Hacking' 카테고리의 다른 글

[XSS Game] Level 5  (0) 2022.01.23
[XSS Game] Level 4  (0) 2022.01.14
[XSS Game] Level 2  (0) 2022.01.09
[XSS Game] Level 1  (0) 2022.01.08
[1주차] XSS 공부  (0) 2022.01.02

댓글