collision 문제를 풀어보았다.
해쉬 충돌??



(collision 문제)


문제 화면



(문제화면)



이번엔 아빠가 등장 다음 문제는 형이 등장하나?
무튼
이번엔 아빠가 해쉬충돌을 이야기해주었단다. MD5 해쉬 충돌 문제인가?
그 동안 문제 풀면서 모은 MD5 충돌하는 매직해쉬값이 쓰일 날이 온건가!

소스코드를 보자.


(소스코드)



에이... 해쉬충돌이 아니다..!ㅎㅎ 
간단히 checksum 이라고해야하나. checksum은 아니고 
입력값을 다 더해준 값을 비교한다.

check_password 함수를 보면 입력값의 주소포인터를 받는데 
그 값의 주소 포인터니 4바이트씩 값을 가져가 더해주는 것이다.

총 20바이트여야하고 값은 총 합이 0x21DD09EC 이어야한다.

5로 나누고 그걸 입력하자!



(5로 나누기)




(등장한 값)



이 값을 5개 입력해주면 되겠다!



(실패)



... 여기서 정말 바보같은 일을 했다는 사실을 알았다.
무작정 5로 나누고 그 값을 5개 더해주니...
나머지는 생각을 안했던 것이다.

내가 입력한 값을 다섯번 더해주니 값이.



(내가 입력한 총합)


21DD09E8이 나왔다. 4가 부족했다.. ㅎㅎㅎ

앞에 4개를 1씩 증가시키고 뒤에 그대로 하나 붙여주는 식으로 맞추어주었다.



(문제 해결)


문제 해결!

'WarGame > 500 Project' 카테고리의 다른 글

(46/500) - pwnable.kr - flag  (0) 2017.07.05
(45/500) - pwnable.kr - bof  (0) 2017.07.05
(43/500) - pwnable.kr - fd  (0) 2017.07.05
(42/500) - Lena's Tutorial 01  (0) 2017.07.05
(41/500) Wargame.kr - Crypto Crackme Basic  (0) 2017.06.28

+ Recent posts