웹 해킹 문제이다.
보통 CTF 문제들은 제목이나 문제 설명 부분이 큰 힌트가 되는 경우가 많다.
이 문제같은경우 살짝 꼬아놨는데 문제 이름인 Consolation 은 '위로' 라는 뜻이다.
문제 설명도 보면
I've been feeling down lately.. Cheer me up! 이라면서 뭔가 위로를 바라는것 같다.
조금뒤에 보면 알겠지만 이 문제의 의도는 'Consol' ation 이다.
다시말해 '콘솔' 창을 활용해서 풀라는 것이다. Consolation 이라는 단어로 위장한것 뿐이다.
'콘솔'창을 이용해서 문제를 푸는것은 Root Me 문제풀이에서 한번 다룬적이 있다.
* 링크 : https://hackingstudypad.tistory.com/36
이 문제랑 거의 비슷하다고 보면 된다.
문제페이지에 들어가면 맨위에 $0 라고 달러 표시가 되어있고
밑에는 큼지막한 버튼이 하나 있다.
pay me some money 라고 적혀있는데, 이 버튼을 한번 누를때마다
$25씩 위에있는 돈이 늘어나게 된다.
돈을 줘서 위로해달라는것 같다..
f12를 눌러 개발자도구를 통해 웹 소스를 본다.
<button onclick="nofret()" ~~>
이라는 부분이 맨 앞쪽에 본인다.
해석하자면 "버튼이 클릭될때마다 nofret() 이라는 함수를 실행해라" 정도가 된다.
밑에는
<scritp src="iftenmillionfireflies.js"></script>
라고 이 웹페이지에서 동작할 자바스크립트 코드를 불러오고 있다.
참고로 if ten million fireflies 는 Owl city 라는 밴드의 Fireflies 노래의 가사 일부이다.
크게 의미는 없는것 같다.
iftenmillionfireflies.js 파일을 개발자도구로 열어보면
이렇게 nofret() 함수가 보이는데
안쪽의 내용이 완전 난독화되어서 도대체 어떤 일을 수행하는지 알 수가 없다.
실제로 콘솔창에 위의 코드 전체를 복사 붙여넣기 후 실행시켜도 아무런 일도 일어나지 않는다.
이유는 간단하다.
난독화된 코드 맨 뒤를 보면
console['clear']();
라는 부분이 보인다.
console['clear'] 해버리면 콘솔창에 있는 내용이 모두 지워지게 된다.
그래서 실행을 시켜도 아무것도 보이지 않았던 것이다.
그럼 저부분만 지워보면..?
플래그를 획득할 수 있다.
'CTF > 웹해킹' 카테고리의 다른 글
[Space Heroes CTF] Space Buds - 웹해킹 / 쿠키변조 (32) | 2022.04.08 |
---|---|
[Space Heroes CTF] R2D2 - 웹해킹 / robots.txt (48) | 2022.04.07 |
[Space Heroes CTF] Space Traveler - 웹해킹 / 자바스크립트 (29) | 2022.04.06 |
[angstromCTF] Secret Agents - 웹해킹 / SQL Injection (36) | 2022.03.12 |
[angstromCTF] The Magic Word - 웹해킹 / 자바스크립트 (42) | 2022.03.11 |