Web/Wargame
[Dreamhack] [wargame.kr] strcmp
와븨
2023. 8. 29. 18:20
strcmp 함수를 무시할 수 있으면 플래그를 얻을 수 있다고 한다.
문제 사이트로 들어가면 패스워드를 입력할 수 있다.
패스워드 입력란 밑의 view-source를 누르면 소스코드를 볼 수 있다.
소스코드를 살펴보면, 사용자가 입력한 password와 실제 password를 strcmp(비교)하여 둘이 같으면(0) 플래그를 출력하는 것을 알 수 있다.
PHP strcmp의 취약점을 이용해서 플래그를 얻을 수 있다는 것을 알 수 있다.
PHP strcmp의 취약점은, 문자열이 아닌 배열을 인자로 넣게 되면 반환 값이 0이 된다는 것이다.
개발자 도구 요소에서 password를 배열로 바꿔주면
플래그를 얻을 수 있다.