목록Web Hacking/Wargame.kr 풀이 (4)
Information Security
나를 달로 보내주세요. 이번에는 게임이다. 저 우주선으로 달까지 가야한다. 옆에 초록색에 닿으면 GAME OVER이다. 31337점이나 얻어야 한다. 너무 어렵기 때문에 다른 방법을 찾아야 겠다. 일부러 죽은 다음 개발자 도구의 [Network]를 확인했는데, high-scores.php 페이지가 생긴 것을 알 수 있었다. 이 페이지를 확인했더니 token, score 변수를 정의하고 있다. GAME OVER될 때 패킷을 잡아서 score을 31337로 변조했다. 키 값을 얻어서 문제를 해결했다.
버튼을 클릭하세요! 나는 잡을 수 없네요. 당신이 키를 얻기 원한다면 버튼을 클릭해야 한다. 하지만 해보면 알겠지만 계속 버튼이 마우스를 피해서 달아난다. 소스를 보려했는데 우클릭이 차단되어 있는 것 같다. 저번에 natas를 풀면서 배운대로 view-source를 URL에 입력하여 소스를 확인했다. eval() 함수는 자바스크립트 코드를 실행한다. unscape_blue14() 함수의 인자 값은 난독화되어 알아볼 수가 없다. p8.js를 확인해보면 unescape_blue14() 함수가 어떻게 정의되어 있는지 알 수 있다. 난독화된 자바스크립트 코드를 해독하는 함수이다. eval() 함수를 실행하기 전 unescape_blue14() 함수의 반환 값을 알아내서 해독된 자바스크립트 코드를 얻을 것이다. ..
자바스크립트 퍼즐. 그냥 즐기세요! 퍼즐 조각을 클릭하면 옆으로 옮겨진다. QR 코드가 되도록 퍼즐을 맞추면 된다. 즐기고 싶지 않다면 소스를 확인한다. img 태그에 src 속성이 없다. $('#join_img').attr('src',unescape('.%2f%69%6d%67%2f%71%72%2e%70%6e%67')); 소스 위 쪽을 보니 jquery의 attr() 함수를 이용해서 src 속성을 설정해주고 있다. ※ unescape는 escape로 이스케이핑 된 문자열을 정상적인 문자열로 되돌려주는 역할을 한다. https://opentutorials.org/course/50/199 참고 src 속성의 값을 Console에서 확인해보니 ./img/qr.png이다. 해당 경로를 url로 접속해보니 QR ..
Wargame.kr wargame.kr에 접속하여 로그인 후 [Wargame] -> [Challenge]에 들어가면 문제를 풀 수 있다. 문제를 풀 때마다 포인트가 오른다. HTTP Response 헤더를 볼 수 있나요? -> [Start] 클릭 당신은 이미 키를 가지고 있습니다! 개발자 도구(F12)의 [Network] 탭에서 Response Header를 확인할 수 있다. Response Header에서 FLAG 값을 찾았다. 이렇게 FLAG 값을 넣어주고 [Auth]를 누르면 문제가 해결된다.