시스템 해킹/pwnable.kr
Pwnable.kr - collision
ii4gsp
2020. 2. 4. 13:15
ssh서버에 접속해주자.
col파일의 소스코드를 보면 argv[1]이 20byte가 아니면 안되고 hashcode와 check_password(argv[1])의 값이 같아야한다.
check_password()함수는 4byte씩 나눠서 받기때문에 hashcode의 값 0x21DD09EC를 5로 나눠주자.
hashcode의 값을 5로 나누면 0x6C5CEC8이 나온다 다시 곱하기 5를 해주자.
0x21DD09EC에서 -4된 0x21DD09E8이 나온다.
0x6C6CEC8 + 4의 값 0x6C5CECC를 리틀 엔디언 방식으로 전달해주면 된다.
Flag: daddy! I just managed to create a hash collision :)
payload
./col $(python -c 'print "\xc8\xce\xc5\x06" * 4 + "\xcc\xce\xc5\x06"')