본문 바로가기

Challenge/wargame.kr

[Wargame.kr] md5 compare

문제 화면

우선 소스코드를 살펴보자

소스코드 일부

입력한 value1은 v1에 저장되고, value2는 v2에 저장한다.

 

ctype_alpha()는 알파벳으로 구성되어있는지 확인하는 함수로 true or false를 반환한다.

is_numerice()은 숫자로 구성되어 있는지 확인하는 함수로 true or false를 반환한다.

 

v1이 알파벳이 아니면 false를 반환하고, v2가 숫자면 flase를 반환한다.

md5($v1), md5($v2)이 다르면 false를 반환한다.

 

그러므로 v1은 알파벳이고, v2는 숫자이며 v1과 v2의 md5값이 같아야 한다.

 

어떻게 할 수 있을까??

 

php는 int형과 char형을 구분하여 선언하지 않는다고 한다.

 

또한, md5 함수에 넣었을 때 해쉬값이 0e로 시작하는 경우 두 값을 비교하면 무조건 참이 된다고 한다.

 

0e 뒤에 무엇이 오든지 간에 전부 0이다.

 

md5('240610708')과 md5('QNKCDZO')의 해시값은 0e로 시작한다. 그러므로 v1에는 QNKCDZO를, v2에는 240610708을 넣으면 플래그를 얻을 수 있다.

'Challenge > wargame.kr' 카테고리의 다른 글

[Wargame.kr] md5 password  (0) 2020.11.22
[Wargame.kr] WTF_CODE  (0) 2020.11.22
[wargame] wtf_code  (0) 2020.07.14
[wargame] login filtering  (0) 2020.07.14
[wargame] qr code puzzle  (0) 2020.07.13