CTF/웹해킹

[TMUCTF] Login - 웹해킹 / PHP

SecurityMan 2023. 7. 7. 11:00

 

PHP Magic Hash 취약점을 이용한 웹해킹 문제

 

난이도는 그렇게 어렵지 않다.

 

별다른 소스파일은 주어지지 않고 

 

문제 페이지 주소만 주어진다.

 

반응형

 

 

문제페이지는 비밀번호를 입력하면 되는 페이지이다.

 

소스도 없고 힌트도 없어서 뭐 어떻게 해야하나 싶었는데

 

 

URL에 robots.txt 를 입력해봤더니

 

힌트를 찾을 수 있었다.

 

GET 메소드로 password 파라미터에 값을 전달받는데,

 

내가 입력한 password 값과 

 

password 값을 md5 해시한 값이 같으면 플래그가 출력된다.

 

근데 상식적으로 해시값이랑 원래값이 같을 수가 없다.

 

하지만 PHP Magic Hash 취약점을 이용하면 가능하다.

 

 

구글에 검색하면 해당 값을 바로 찾을 수 있다.

 

: 를 구분자로 

 

앞쪽이 입력값, 뒤쪽이 md5 해시값인데

 

위처럼 둘다 0e 로 시작하는 값을 찾으면 된다.

 

취약한 PHP의 경우 0e로 시작하는 값을 지수의 n승으로 계산해서 0으로 처리를 한다.

 

그러니까 결국 0 == 0(참) 이 되어버리는 것이다.

 

 

URL에 

 

?password=0e215962017 이라고 입력하면

 

플래그가 출력되는것을 확인할 수 있다.

반응형