해쉬에 마법을 부여하라는걸 보니 해쉬함수에 관한 문제인 것 같다
View source에 들어가 보면
<?php
show_source(__FILE__);
$flag = "if_you_solved";
$input = $_GET['flag'];
if(md5("240610708") == sha1($input)){
echo $flag;
}
else{
echo "Nah...";
}
?>
이런 소스를 볼 수 있다
간단하게 해석해 보면 md5로 해시 암호화한 값과 sha1으로 해시 암호화한 값이 같으면 flag를 준다는 것 같다.
md5로 암호화한 240610708는 매직해시이다.
매직 해시란 0e로 시작하는 문자열뒤가 모두 숫자인 해시로 php에서는 이를 모두 0으로 인식한다.
md5와 sha1모두 이런 매직 해시가 존재하는데 sha1의 매직해시값은 10932435112이다.
10932435112를 제출하면 flag를 얻을 수 있다.
'Hacking > HackCTF' 카테고리의 다른 글
Hackctf [Web]Input Check (0) | 2020.12.21 |
---|---|
Hackctf [Web]Time (0) | 2020.12.21 |
Hackctf [Web]Login (0) | 2020.12.21 |
Hackctf [Web]Read File (0) | 2020.12.21 |
Hackctf [Web]Guess me (0) | 2020.12.21 |