CTF/picoCTF

[picoCTF] It is My Birthday

j4ko 2022. 6. 6. 00:22
728x90
반응형
 

Description

I sent out 2 invitations to all of my friends for my birthday! I'll know if they get stolen because the two invites look similar, and they even have the same md5 hash, but they are slightly different! You wouldn't believe how long it took me to find a collision. Anyway, see if you're invited by submitting 2 PDFs to my website. http://mercury.picoctf.net:57247/
 

Approach

문제를 읽어보니 Hash Collision을 이용해야 될 것 같다. 

 

Hash Collision?

Hash 함수는 임의의 입력이 고정된 크기의 결과를 내는 특성을 가진다. 즉 입력값이 다르면 출력되는 값도 달라야 한다. 하지만 Hash Collision 은 해시 함수가 서로 다른 입력 값에 대해 동일한 값을 내는 상황을 의미한다. 
MD5 해시의 경우 결함이 발견되었으며 많은 곳에서 MD5보다 더 안전한 해시함수를 사용하라고 권장한다.

 

 

Solve

문제에서 요구하는 바는 Hash 값이 같은 서로 다른 두 파일을 제출하는 것이다. 구글링을 통해 이러한 특성을 가진 파일을 제공해주는 사이트를 찾았다. https://www.mscs.dal.ca/~selinger/md5collision/

 

Peter Selinger: MD5 Collision Demo

The above files were generated by exploiting two facts: the block structure of the MD5 function, and the fact that Wang and Yu's technique works for an arbitrary initialization vector. To understand what this means, it is useful to have a general idea of h

www.mscs.dal.ca

위 사이트에서 제공해주는 파일을 다운로드한 뒤 파일의 확장자명을 문제에서 요구하는 pdf로 변경해준 뒤 제출해주면 Flag를 얻을 수 있다.

┌──(kali㉿kali)-[~/Downloads]
└─$ mv erase erase.pdf                   
                                                                                                                           
┌──(kali㉿kali)-[~/Downloads]
└─$ mv hello hello.pdf

728x90
반응형