Guess me 문제

해당 문제는 PHP의 extract 함수 취약점을 이용한 것이다.
1. extract() 함수란 배열속의 키 값을 변수로 만들어주는 역할을 한다.
2. 변수를 선언한 뒤 extract 함수를 사용한다면 변수가 덮어쓰여지게 된다.
이때, $_GET이란 URL을 통해 전송된 데이터를 각각의 원소로 가지는 배열 변수인데,
extract($_GET)을 통해 원하는 변수와 값을 지정할 수 있으므로,
그를 통해 filename과 guess 값을 적절히 지정해줘서 문제를 풀 수 있었다.
guess와 filename 모두 값을 입력하지 않고 get 방식으로 보내면,
null 값을 반환해서 결국 null===null 을 성립해 if 문을 통과하게 된다.
?guess=&filename=
주소창에 위와 같이 입력한다.

'Wargame > HackCTF' 카테고리의 다른 글
| [HackCTF] Web (Login) (0) | 2021.11.25 |
|---|---|
| [HackCTF] Web (Read File) (0) | 2021.11.25 |
| [HackCTF] Web (보물) (0) | 2021.11.25 |
| [HackCTF] Web (/, Hidden, Button) (0) | 2021.11.25 |
| [HackCTF] RTC (0) | 2021.06.01 |