Pwnable/FTZ

FTZ - level7 [ASCII]

Lucvs 2019. 12. 31. 03:24

LEVEL 7

 

[level7] passcode : come together

(NO DRAG, NO PASSCODE)


바로 hint부터 뜯어보자. 

 

/bin/level7 명령을 실행하면, 패스워드 입력을 요청한다.

 

1. 패스워드는 가까운곳에..

2. 상상력을 총동원하라.

3. 2진수를 10진수를 바꿀 수 있는가?

4. 계산기 설정을 공학용으로 바꾸어라.

 

아무래도 비밀번호를 구하는 것이 가장 큰 문제인 것 같다.

우선 패스워드에 관한 문자열이나 숫자들을 얻어야할 것 같다.

각각의 디렉토리를 뒤지기 전에 먼저 /bin/level7 프로그램을 실행하여보자.

Insert The Password : 라는 문구가 뜨며 비밀번호를 입력하라고 되어있다.

일단은 비밀번호를 알 수 없으니 임의의 값을 입력해보자.

누가봐도 수상한 문자열이 존재한다.

 

--_--_- --____- ---_-__ --__-_-

 

잘보면 띄어쓰기도 존재한다.

이 문자열을 이용하여 2진수를 10진수로 바꾸는 과정을 거쳐야 할 것 같다.

 


아스키 코드(ASCII Code) 

 

컴퓨터는 2진수, 즉 모든 데이터를 1과 0으로 저장하고 인식하기 때문에 문자들 역시 2진수로 저장된다.

 


 

'-'를 1로, ' _'를 0으로 판단하고 띄어쓰기를 고려해보면, 

--_--_-    --____-    ---_-__     --__-_- 는

1101101 1100001  1110100 1100101

이 되며 4개의 2진수를 10진수로 변환하면 각각

109    97    116    101

이므로 이를 다시 아스키 코드표를 참고하여 10진수를 아스키 코드로 변환하면 각각

m    a    t    e

이 된다. 이제 mate를 password로 입력해보자.

 

성공적으로 passcode를 얻었다.


[level8] : break the world