jff3_magic
Vulnerability
해당 문제를 보면 alert창이 하나 뜨는데 hint가 swp라고 한다. swp는 vi의 오류로 인해 파일을 일시적으로 백업을 하게 되는데 파일의 확장자가 swp가 된다. swp파일은 숨겨진 파일로 생성되어 .[파일명].swp의 형태로 저장된다. swp파일을 다운로드할 수 있는지를 확인해보면 .index.php.swp로 다운로드할 수 있다.
vi로 swp파일을 열어야 swp파일을 볼 수 있는데 파일명을 .index.php.swp로 변경한 후 -r 옵션을 이용하여 파일을 열 수 있다.
$ vi -r .index.php.swp
코드를 보면 문제 해결을 위한 소스코드는 아래와 같다. magic hash라고 들어 봤는가 php에서의 == 연산자는 type에 상관없이 문자든 숫자든 맞으면 true를 반환한다. '1' == 1은 같다는 말이다. 해쉬에서도 0^(0의 제곱꼴)은 0이라는 것을 이용하여 해쉬를통해 0e........ 과 같은 문자열이 나오면 이것도 0으로 판별한다는 것이다. e는 제곱을 의미하는데 10e3 = 10000을 의미한다.
Exploit
해당 문제는 아마 admin의 비밀번호가 0e....으로 시작할 것이다. 그냥 0을 넣으면 hash(haval128)로 인해 문자열 형태로 나오기 때문에 0e... 꼴로 나오는 문자열을 알아야 한다. haval128,5의 magic hash값은 115528287이다.
❗ 저작권
'CTF > Web' 카테고리의 다른 글
[Dreamhack CTF] blind-command (0) | 2022.07.25 |
---|---|
[Wargame.kr] strcmp (0) | 2022.07.25 |
[Wargame.kr] md5 password (0) | 2022.07.25 |
[Dreamhack CTF] command-injection-1 (0) | 2022.07.24 |
[Dreamhack CTF] Mango (0) | 2022.07.23 |