워게임,CTF/pwnable.kr

pwnable.kr - collision (toddler's bottle)

Haemaa 2025. 10. 16. 01:52

이번 문제는 collision

MD5 collision 취약점을 묻는 문제 같다.

ssh 접근

col.c 파일 내용 조회

check_password는 p를 한비트씩 비교해가며 5번 실행된다.

passcode는 20 bytes가 되도록 넣어야한다. (입력받는 p가 char이므로 20글자를 넣어야함)

0x21DD09EC 는 10진수로 변환하면 568134124이다.

MD5 해시는 총 16바이트이다. 해시 길이는 128비트이다

 

0x21DD09EC가 hashcode이다.

입력한 인자는 char (1byte) 자료형의 p로 int (4byte)의 ip에 넣어진다. 그걸 반복문에 들어가 5번 반복하고 res에 더하고 있다.

 

이게 왜 MD5 Collision이지? 문제의 실상은 0x21DD09EC 만들기였다.

프로그래머 계산기로  0x21DD09EC를 5로 나눠주니 6C5CEC8이었다.

근데 이걸 다시 5를 곱해주니 21DD09E8이 나왔다. 원래값보다 4가 모자라다. 나눗셈 과정에서 나머지가 사라진 것이다.

결국 나눗셈 과정의 식을 정리하면 21DD09EC = 6C5CEC8 * 5 + 4 = 6C5CEC8 * 4 + 6C5CECC

 

 

 

 

'워게임,CTF > pwnable.kr' 카테고리의 다른 글

pwnable.rk -fd (Toddler's Bottle)  (0) 2025.10.14