profile image

L o a d i n g . . .

article thumbnail image
Published 2021. 11. 25. 20:05

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
복사했습니다!