문제 풀이
Mission Description
Complex web applications sometimes have the capability to dynamically load JavaScript libraries based on the value of their URL parameters or part of location.hash.
복잡한 웹 애플리케이션에는 URL 매개변수 또는 location.hash의 일부 값을 기반으로 JavaScript 라이브러리를 동적으로 로드하는 기능이 있는 경우가 있습니다.
This is very tricky to get right -- allowing user input to influence the URL when loading scripts or other potentially dangerous types of data such as XMLHttpRequest often leads to serious vulnerabilities.
이것은 올바르게 하기가 매우 까다롭습니다. 스크립트나 XMLHttpRequest와 같은 잠재적으로 위험한 다른 유형의 데이터를 로드할 때 사용자 입력이 URL에 영향을 미치도록 허용하면 종종 심각한 취약점이 발생합니다.
Mission Objective
Find a way to make the application request an external file which will cause it to execute an alert().
애플리케이션이 alert를 출력하도록 하는 외부 파일을 요청하도록 하는 방법을 찾으십시오.
Write Up
사이트의 입력값이라곤 Flagment 밖에 없어서 자연스럽게 Flagment에 lrtk를 입력하여 페이지를 Reloding하였다.
이와 같이 gedget.js의 주소가 내가 입력한 lrtk으로 변화는 것을 볼 수 있다.
페이지의 소스코드를 확인하니, 입력값이 위처럼 들어간 것을 확인할 수 있었다.
나는 Google에 XSS Payload를 검색하여 거기서 나온 alert를 출력하는 JS 경로를 찾아서 Flagment에 삽입하였다.
아주 간단하게 문제를 풀이하였다.
다음 문제를 확인해보니, Level 6이 마지막 문제였다.
-끝-
'Wargame > XSS GAME' 카테고리의 다른 글
XSS game - Level5 (0) | 2022.02.13 |
---|---|
XSS game - Level4 (0) | 2022.02.12 |
XSS game - Level3 (0) | 2022.02.09 |
XSS game - Level2 (0) | 2022.01.23 |
XSS game - Level1 (0) | 2022.01.22 |
Comment