SQL injection/webhacking

Webhacking 12번

ys.k 2022. 4. 4. 21:15

포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다.

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를 붙여서 실행시켜주면 된다.

zhst

실행시켜주면

문제 해결!

시행착오

1. 개발자 도구의 콘솔 창에서 스크립트에 정의된 함수들을 실행시켜 결과를 얻을 수 있다.