write-up/pwnable
[ftz] level 7: come together
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로 소스코드 분석
>> 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 |
댓글