문제에 들어가니 초~중학교때 자주봤던 마법봉 짤과 함께 뭔가를 입력할 수 있는 폼이 기다린다.
이 문제에도 친절하게 코드를 확인할 수 있도록 버튼을 마련해 두었다.
위 문제의 코드는 다음과 같다.
1
2
3
4
5
6
7
8
9
10
11
|
<?php
show_source(__FILE__);
$flag = "if_you_solved";
$input = $_GET['flag'];
if(md5("240610708") == sha1($input)){
echo $flag;
}
else{
echo "Nah...";
}
?>
|
cs |
md5로 240610708을 암호화한 해시와 SHA1으로 입력값을 암호화한 해시한 값이 같으면 플래그가 출력된다고 한다.
이 때 추측이 가능하다.
해시가 같다고 비교되는 경우는 단 하나, Magic hash이기 때문이다.
Magic hash : https://www.whitehatsec.com/blog/magic-hashes/
위의 사이트에서 얻은 값은 10932435112이다.
따라서 우리는 input에 10932435112을 넣고 제출해보자.
플래그가 출력된다.
여담으로, 문제 다 풀고 알았는데 위에 써있는 "해쉬에 마법을 부여하면 그 어떤 것도 뚫릴지어니..."가 정말 큰 힌트였다.
'HackCTF 풀이 > Web' 카테고리의 다른 글
HackCTF - Web - Home 풀이 (0) | 2019.09.17 |
---|---|
HackCTF - Web - Input Check 풀이 (0) | 2019.06.09 |
HackCTF - Web - Login 풀이 (0) | 2019.06.09 |
HackCTF - Web - Read File 풀이 (0) | 2019.06.09 |
HackCTF - Web - 보물 풀이 (0) | 2019.06.09 |