-
[Toddlers's Bottle] collisionWargame/pwnable.kr Challenge 2019. 1. 17. 19:20
→ 문제는 아래와 같다. → 로그인 후 파일 확인. → col.c 소스코드 확인. → 문제 해결을 위해선, hashcode == check_password(artv[1])의 값이 참으로 만들어야 한다. 이 때, hashcode 값은 0x21DD09EC이고, check_password(argv[1])의 값이랑 비교한다. → check_password 함수를 살펴보면, 인자 값으로 argv[1] 값을 받고 이를 ip 배열로 받아 더하여 리턴한다. → 두번째 분기문에서 strlen(argv[1]) != 20 에 의해 실행 인자 값은 반드시 20바이트이여야 한다. → 결국 20바이트의 passcode 인자 값을 통해 check_password 함수 연산 결과와 0x21DD09EC의 값이 동일하게 만드는 문제이다..