Wargame/HackCTF
[HackCTF] 마법봉 풀이 (100p)
bjloed
2020. 5. 26. 20:00
문제 종류 - Web
사용한 툴 -
풀이

View Source를 눌러 코드를 확인하자.

md5(240610708)과 sha1(input) 값이 같으면 풀리는 문제다.
근데 240610708을 보면 정말 정말 누가봐도 Magic Hash 인걸?
모르는 분들을 위해 Magic Hash에 대해 설명하겠다.
PHP에서 ==을 이용해 값을 검사하면 취약점이 발생한다.
지수 표현식에서 앞 숫자를 0으로 하면 다음과 같이 표현이 가능하다.
0e1111 = $0\times10^{1111}$
0e1234 = $0\times10^{1234}$
즉, 앞이 0e면 모든 수식의 값은 0이된다.
이를 이용하면 문제를 해결할 수 있다.
그럼 이제, sha1에 magic hash를 찾아서 flag값에 넣어버리자.

