해설
ssh로 접속해 col.c를 확인해보자.

20바이트의 커맨드라인 인자를 입력받고, check_password 함수에서 입력 받은 20바이트를 4바이트씩 끊어서 합연산 한 뒤 반환하고, main 함수에서 이를 다시 hashcode 0x21DD09EC와 비교한다.
따라서 0x21DD09EC를 4바이트씩 5개로 나눠서 입력해주면 될 것 같다. 0x21DD09EC를 5로 나누면 0x6c5cec8이고, 나머지는 4이다. 그러므로 0x6c5cec8 4개와 나머지를 더한 0x6c5cecc를 커맨드라인 인자로 넣어주면 된다. 이 떄 little endian을 고려해서 다음과 같이 입력해주면 flag가 출력 된다.

낙서
집에서 포스팅하느라 webssh를 써봤는데 생각보다 괜찮았다.
그리고 문제 이름이 collision인데 collision하고 무슨 관련이 있는건진 모르겠다.
'pwn' 카테고리의 다른 글
| pwnable.kr - passcode (0) | 2019.08.22 |
|---|---|
| pwnable.kr - random (0) | 2019.08.16 |
| pwnable.kr - flag (0) | 2019.08.13 |
| pwnable.kr - bof (0) | 2019.08.12 |
| pwnable.kr - fd (0) | 2019.08.08 |