
1. 문제 정보
- 문제 번호 : old -15
- 문제 점수 : 5점
2. 문제 분석

문제를 들어가면 access_denied가 뜨고 확인을 누르면 webhacking.kr로 이동한다. 버프 스위트로 request를 인터셉트 해보자

get 요청으로 js-2를 불러온다. 응답은 아래와 같다

응답을 보면 alert()다음에 location.href로 /로 이동하는 것을 알 수 있고 그 다음에 document.write로 ?getFlag 하이퍼링크를 html에 작성하는 것을 알 수 있다. 하지만 alert다음에 /로 이동하므로 볼 수 없다.
location.href는 웹 브라우저의 현재 페이지 URL 정보를 다루는 JavaScript 속성이다.
href 속성값에 있는 ?는 쿼리 스트링(Query String) 기호로 웹 서버에 데이터를 전달할 때 사용한다. ? 뒤에 오는 내용은 파라미터(변수)로 처리한다.
PHP언어로 쓰인 것을 PHP세션에서 알 수 있다.
?쿼리 스트링은 주로 값을 할당하지만 if (isset($_GET['getflag']))같이 함수를 써서 get에 함수 인자가 왔는 지 확인한다.
3. 풀이
그러면 하이퍼링크 주소는 아래와 같으니까 이걸 주소창에 입력하면 document.write에 입력한 주소로 이동할 수 있다.
https://webhacking.kr/challenge/js-2/?getFlag

4. 3줄 요약
- alert 다음에 바로 /로 이동해서 다음 스크립트를 확인할 수 없었지만 그 주소를 찾아서 입력해서 풀었다.
- <a href=...>는 하이퍼링크 HTML문법이다.
- 경로 없이 ?로 시작하므로, 현재 페이지의 URL 뒤에 getFlag라는 파라미터를 붙여서 요청한다.
'워게임 > webhacking.kr' 카테고리의 다른 글
| [webhacking.kr] old-32 문제 (0) | 2026.01.20 |
|---|---|
| [webhacking.kr] old-14 문제 (0) | 2026.01.20 |
| [webhacking.kr] old-17 문제 (0) | 2026.01.20 |
| [webhacking.kr] old-06문제 (0) | 2026.01.20 |
| [webhacking.kr] old-20문제 (0) | 2026.01.20 |