728x90
인자로 argv 를 넣어줘야하며 그 인자의 길이는 20byte 여야 한다.
인자로 넣어준 argv를 check_password 함수 인자로 넣어주어 나오는 반환값과 hashcode의 값인 0x21DD09EC가 같아야 한다.
check_password 함수를 보면 int형 포인터로 값을 받아 각 4바이트씩 5개를 더해준다. 그럼 총 20바이트가 된다.
0x21DD09EC를 5로 나누면 0x06c5cec8이 나오는데 0x06c5cec8에 5를 곱하면 0x21DD09E8이 나온다.
4가 부족하므로 인자를 넣어줄때 0x06c5cec8*4+0x06c5cecc를 넣어주어 4바이트씩 5개 총 20바이트의 합이 0x21dd9ec가 되게한다.
코딩공부할 때 별로 신경쓰지않았던 자료형크기를 잘생각하자
728x90
'Wargame_writeup > Pwnable.kr' 카테고리의 다른 글
shellshock (0) | 2018.12.19 |
---|---|
mistake (0) | 2018.12.19 |
flag (0) | 2018.12.19 |
bof (0) | 2018.12.19 |
fd (0) | 2018.12.18 |