write-up/pwnable

[ftz] level 7: come together

여니두 2019. 8. 14.

07_암호화의 시작

 

 

/bin/wrong.txt가 없는 파일로 나와있지만, 원래 나와야 하는 힌트를 제공받아서 문제를 풀었다.

 

(2진수) 1101101 1100001 1110100 1100101
(10진수로 변환) 109 97 116 101
(ASCII 코드) m a t e

 

Level 8 password = break the world

 

√ gdb로 소스코드 분석

procedure prelude 과정

>> malloc(0x64)

: 100byte만큼의 공간을 힙 공간에 확보

 

>> print("Insert~ ")

 

>> fgets(ebp-4, 0x64, STDIN)

 

>> strncmp(ebp-4, "mate", 0x4)

: 입력 받은 값의 (ebp-4) 4자리가 mate인지 비교

 

앞이 mate가 아니면 main+121로 점프

>> printf("\n~ ")

>> exit(0)

* mate가 아닌 경우

>> system("cat /bin/wrong.txt")

 

* 위 문제에서는 맨 앞 4바이트만 비교하여 mate인지 판단하는 것이 특징

'write-up > pwnable' 카테고리의 다른 글

[ftz] level 9: apple  (0) 2019.08.17
[ftz] level 8: break the world  (0) 2019.08.16
[ftz] level 6: what the hell  (0) 2019.08.13
[ftz] level5: what is your name?  (0) 2019.08.12
[ftz] level4: suck my brain  (0) 2019.07.28

댓글