문제

Daddy told me about cool MD5 hash collision today.
I wanna do something like that too!

ssh col@pwnable.kr -p2222 (pw:guest)


해석

<col.c 의 내용>


1. argv[1]을 통해 'passcode'에 해당하는 내용을 입력해야 한다.

단, 'passcode'의 길이는 무조건 20바이트!

2. passcode는 check_password 함수로 보내져서 다음과 같은 연산이 수행된다.

2-1. ip 포인터가 가리키는 곳에서 4바이트 만큼을 int 값으로 변환

2-2. ip 포인터는 4바이트씩 증가하며 passcode 20바이트 전체를 순회

2-3. 변환된 값을 모두 더해서 return

3. check_password 함수의 반환값이 hashcode(0x21DD09EC == 568134124)와 같으면 system("/bin/cat flag")가 실행된다!


실행결과

'pwnable.kr' 카테고리의 다른 글

[Toddler's Bottle] random writeup  (0) 2018.09.15
[Toddler's Bottle] passcode writeup  (0) 2018.09.15
[Toddler's Bottle] flag writeup  (0) 2018.09.15
[Toddler's Bottle] bof writeup  (0) 2018.09.15
[Toddler's Bottle] collision writeup  (2) 2018.09.14
[Toddler's Bottle] fd writeup  (1) 2018.09.14
  1. 보노보노 2018.09.14 22:25

    2-1에 passcode의 첫 5바이트만 검사한다고 되어있는데 아마 잘못된것이 아닐까요? 보놋보놋

+ Recent posts