10번 문제에요.
배점은 235점, 이름은 md5_compare 에요.
md5_compare
JUST COMPARE ONLY.
with the other value :D
들어가면 입력칸 두개가 있어요.
소스를 보면
먼저
if (!ctype_alpha($v1)) {$chk = false};
라인떄문에 첫번째 입력은 무조건 알파벳 집합이어야 해요.
그다음
if (!is_numeric($v2)) {$chk = false};
라인때문에 두번째 입력은 숫자 집합이어야 해요.
그리고
if (md5($v1) != md5($v2)) {$chk = false};
라인으로 두 입력값을 md5해싱해서 같은지 비교를 해요.
php에서의 md5에는 유명한 취약점이 있어요.
매직해시라는건데...
해시가 0e 로 시작하고 그 뒤의 문자열이 전부 숫자일경우 0.0 으로 인식을 해요.
그러니 첫번째 입력의 알파벳으로만 이루어진 매직해시와
두번째 입력의 숫자로만 이루어진 매직해시를 넣으면 문제가 풀리겠네요.
구글링을 통해서 두 해시값을 찾았어요.
QNKCDZO
24061078
이에요.
echo ($v1 == $v2);
의 출력이 1 이죠?
그러니 저 두 값을 집어넣으면?
Congratulations! FLAG is : 7f462c3a5ab9cc7defd7cdcb52ac35f8e4f619c0
빠밤!
키가 나왔네요.
'연구글 > wargame.kr' 카테고리의 다른 글
wargame.kr 12 / type confusion (0) | 2020.10.23 |
---|---|
wargame.kr 11 / tmitter (0) | 2020.10.22 |
wargame.kr 9 / DB is really GOOD (0) | 2020.10.19 |
wargame.kr 8 / md5_password (0) | 2020.10.13 |
wargame.kr 7 / strcmp (0) | 2020.10.07 |