본문 바로가기

Root Me(web-client, web-server)

Javascript - Native code


문제의 내용은 밑에 사진처럼 Password를 요구하는 문제이다.



Password가 틀렸을 경우는 fail...이라는 창을 띄어 알려준다.



한참을 삽질을 하다가 동아리 형이 브라우저에 디버깅 기능이 있다고 알려주시면서 다음과 같이 브레이크 포인트를 거시는 것을 보여주셨다.



브레이크 포인트가 걸린 줄은 숫자에 파란색 표시가 된다. 그리고 F5를 눌러줘서 실행을 시키면 아래와 같이

브레이크 포인트가 걸린 줄에서 멈추게 된다. 그리고 이때 F11을 눌러서 내부로 들어가서 하나씩 실행시키면 된다.



F12를 눌러주고 

F12를 눌러주고 




F12를 눌러주고 


F12를 눌러주고 



F12를 눌러주고 


F12를 눌러주고 



F12를 계속 눌러주다 보면 다음과 같이 Password를 알 수 있게 된다.



처음이 문제를 풀려고 했을 때는 F12를 이용해서 Password에 관한 정보를 얻을려고 하였지만 

É=-~-~[],ó=-~É,Ë=É<<É,þ=Ë+~[];Ì=(ó-ó)[Û=(''+{})[É+ó]+(''+{})[ó-É]+([].ó+'')[ó-É]와 같이 이상한 언어로

되어 있어서 정보를 얻기 힘들었다. 그래서 구글에다가 É=-~-~[],ó=-~É,Ë=É<<É,þ=Ë+~[];Ì=(ó-ó)[Û=(''+{})[É+ó]+(''+{})[ó-É]+([].ó+'')[ó-É] 라고 검색을 해 보았더니 밑에 사진과 같이 난독화?를 풀어주는 코드가 있었다. 그러나 나는 할 줄 아는 언어가 C언어 밖에 없어서 C언어로 코딩을 하여 난독화를 풀어주려고 했지만 

ㅠㅠ 내 실력으로는 코딩하기가 매우 힘들어서 다시 구글링을 하였다.


(출처 : https://openclassrooms.com/forum/sujet/encodage-javascript-83459)





 구글링을 하다가 타입 캐스팅이라는 것을 알게 되었고 이러한 것을 이용하여 자바스크립트를 난독화를 시킬 수 있다는 것을 알게 되었다. 이것을 브라우저를 이용해서 풀어보려고 했다.

(출처 : http://www.hakawati.co.kr/364)






위의 사진처럼 하나씩 하나씩 찾아보려고 했지만 ............ ㅠㅠ

아무튼 나에게는 어려운 문제였다.

'Root Me(web-client, web-server)' 카테고리의 다른 글

Javascript - Obfuscation 2  (0) 2016.12.26
Javascript - Obfuscation 1  (0) 2016.12.26
Javascript - Authentication 2  (0) 2016.12.26
Javascript - Authentication  (0) 2016.12.22
Javascript - Source  (0) 2016.12.22