Information Security
[Wargame.kr] flee button 본문
버튼을 클릭하세요!
나는 잡을 수 없네요.
당신이 키를 얻기 원한다면 버튼을 클릭해야 한다.
하지만 해보면 알겠지만 계속 버튼이 마우스를 피해서 달아난다.
소스를 보려했는데 우클릭이 차단되어 있는 것 같다.
저번에 natas를 풀면서 배운대로 view-source를 URL에 입력하여 소스를 확인했다.
eval() 함수는 자바스크립트 코드를 실행한다.
unscape_blue14() 함수의 인자 값은 난독화되어 알아볼 수가 없다.
<script src="./p8.js"></script>
p8.js를 확인해보면 unescape_blue14() 함수가 어떻게 정의되어 있는지 알 수 있다.
난독화된 자바스크립트 코드를 해독하는 함수이다.
eval() 함수를 실행하기 전 unescape_blue14() 함수의 반환 값을 알아내서 해독된 자바스크립트 코드를 얻을 것이다.
Console을 이용해서 unescape_blue14() 함수를 호출했다.
반환 값이 나왔다. 그런데 또 난독화되어 있어서 함수를 한 번 더 호출해야 한다.
한 번 더 해독하여 아래와 같은 자바스크립트 코드를 얻을 수 있었다.
<div id="esc" style="position:absolute;">
<input type="button" onfocus="nokp();" onclick="window.location='?key=4782';" value="click me!">
</div><input type="text" readonly style="width:350;" id="hint" value="do you want to join? catch button, if you can!">
[click me!] 라는 버튼을 클릭했어야 했는데, 여기에는 onclick 이벤트가 걸려있는 것을 알 수 있다.
window.location에 의해서 GET 방식으로 key 값을 4782로 정의하면 버튼이 클릭되는 것과 같은 동작이 된다.
'Web Hacking > Wargame.kr 풀이' 카테고리의 다른 글
[Wargame.kr] fly me to the moon (0) | 2018.01.03 |
---|---|
[Wargame.kr] QR Code Puzzle (0) | 2018.01.02 |
[Wargame.kr] already got (0) | 2018.01.02 |