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

+ Recent posts