Webhacking 12번
포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다.
12번 문제이다.
포스팅을 시작하기에 앞서 11번과 12번 문제 사이의 텀이 긴 이유는, 13번이 더 흥미로워 보여서 먼저 풀다가 해결까지 너무 오래 걸렸다...
11번 다음에 13번을 포스팅하는 것도 깔끔하지 못해 그냥 12번 13번 다 풀고 왔다.
본론으로 가자.
자바스크립트 문제란다.
소스코드를 보자.
개발자 도구로는 다 표시되지 않을 정도의 양으로 난독화가 된 코드가 들어가 있다.
우클릭을 통한 소스코드를 보자.
이곳엔 모든 코드가 다 들어가 있다.
일단 난독화 해제 사이트에서 난독화를 해제시켜주자.
난독화 해제 사이트 : https://www.strictly-software.com/unpack-javascript
Javascript Unpacker Tool - Strictly Software
This Javascript unpacker tool has now been upgraded to allow it to unpack multiple eval statements. So if your packed code has itself been packed a few times it will loop through until it finds the original source code. If you want to test this multiple ev
www.strictly-software.com
난독화를 1차적으로 해제시켜 주었는데도 소스코드 보기가 굉장히 어렵다.
그래서 구글에 검색하다 aaencode라는 기법으로 난독화가 된 걸 찾을 수 있었다.
그럼 aaencode 디코더를 찾아 해제시켜보자.
aaencode 디코더 : https://cat-in-136.github.io/2010/12/aadecode-decode-encoded-as-aaencode.html
aadecode - Decode encoded-as-aaencode JavaScript program. ['_']
aadecode - Decode encoded-as-aaencode JavaScript program. (゚Д゚) ['_'] Enter ...
cat-in-136.github.io
디코딩된 결과이며 이제 소스코드를 읽을 수 있게 되었다.
난독화가 해제되었지만 그래도 문제를 풀기에 복잡했고, 개발자 도구 콘솔 창에서 함수들을 실행할 수 있는 것을 알게 되었다.
바로 실행해보자.
함수의 정의와 변수 부분을 먼저 콘솔 창에 입력해주었다.
그리고 if구문의 비교 연산자 뒤에 있는 부분을 입력해주었다.
=youaregod~~~~~~~!이 출력되었다.
이제 나머지 부분인 location.href="./"+ck.replace("=", "")+". php" 부분을 실행시키면 문제는 해결된다
ck -> =youaregod~~~~~~~!이며 =를 제거해주고, 그 링크 뒤에. php를 붙여서 실행시켜주면 된다.
실행시켜주면
문제 해결!
시행착오
1. 개발자 도구의 콘솔 창에서 스크립트에 정의된 함수들을 실행시켜 결과를 얻을 수 있다.