Hash

    Pwnable.kr :: Toddler's Bottle - collision write up

    Pwnable.kr :: Toddler's Bottle - collision write up

    Pwnable.kr 의 두번째 문제를 풀어보자. 이번 문제는 MD5 hash collision 에 대한 문제라는 힌트를 주고 있다. 그러면 Hash 는 무엇이고 Hash collision 이 무엇인지 간단하게 알아보자. Hash 란 임의의 길이를 갖는 임의의 데이터에 대해 고정된 길이의 데이터로 매핑하는 것을 의미한다. 한 개의 입력값에 대해 한 개의 출력값이 나오는데, 이 입력값의 범위는 무한한 데 비해 출력값의 범위는 유한하기 때문에 입력이 다름에도 불구하고 드물게 동일한 값이 출력되는 경우가 존재한다. 이러한 경우를 '충돌' (Collsiion)이 발생했다고 한다. 이제 문제를 살펴보자. 역시나 flag 파일이 존재하고 권한이 없기 때문에 setUID 가 걸려있는 col 파일을 이용해서 문제를 해결..