on
[Web Hacking] HackCTF 마법봉(100p) Write Up
[Web Hacking] HackCTF 마법봉(100p) Write Up
728x90
HackCTF Web 분야 마법봉(100p) 문제 풀이입니다.
[HackCTF] Challenge 마법봉
제시된 링크로 접속해봅시다.
http://ctf.j0n9hyun.xyz:2029
해쉬에 마법을 부여하면 뚫린다고 아주 친절하게 명시해 주었네요.
이는 PHP에 존재하는 Hash Magic Vulnerability에 대한 문제임을 유추할 수 있습니다.
이전에 풀었던 인코그니토 문제와 같은 유형이네요!
자세한 풀이는 아래 링크를 참조하면 좋을 것 같습니다 :)
[2021 INCOGNITO CTF writeup] Web - Do you know Hashes
[View Source] 버튼을 통해 PHP 소스코드를 봅시다.
'240610708'의 md5 hash와 '$input'의 sha1 hash가 일치하면 flag를 뱉도록 구현되어 있네요.
sha1의 Magic Number를 찾아봅시다.
Hash Type Magic Number / String Magic Hash md5 240610708 0e462097431906509019562988736854 sha1 10932435112 0e07766915004133176347055865026311692244
찾아보니 sha1의 Magic Number는 '10932435112'라고 하네요.
텍스트폼에 알맞게 입력하고 제출하면 flag가 출력됩니다!
PHP Magic Hash Vulnerability는 PHP에서 == 연산자로 비교 시, 문자열의 형식이 ^0+e\d*$로 되어있을 때 이를 숫자형 데이터와 비교하게 되면 0으로 인식하게 되는 현상을 이용한 것인데 0의 n제곱은 항상 0이기 때문에 이러한 현상이 나타나게 됩니다.
Solve!
728x90
from http://hooneee.tistory.com/421 by ccl(A) rewrite - 2021-12-28 21:26:15