본문 바로가기
워게임/HackCTF

[HackCTF] web 5번. guess me

by 그적 2020. 7. 17.

 

HackCTF guess문제

 

일단 1234를 넣어 제출했더니 아래와 같이 guess를 GET방식으로 보내주는 것을 알 수 있었다.

그리고 if문에서 $guess와 'secret.txt'에서 추출해낸 $secretcode가 동일하다면, flag를 뱉어내는 과정이다.

 

우리가 눈여겨볼 것은 extract($_GET); 부분이다.

extract함수는 취약점을 갖고 있는데, extract 함수 이전 변수 값을 변경할 수 있는 것이다. 또한 $filename 값을 조작함으로써 if($guess === $secretcode) 조건문을 제어할 수 있으므로 $secretcode가 우리가 알 수 있는 값이 나오도록 해야 한다.

$filename에 대상에게 없는 파일 목록을 줬을 경우를 생각해내야 한다. 그럼 추출해낼 내용이 없으니 $secretcode에는 아무 값도 들어가지 않는다. 

 

filename에 임의의 값 1을 주고, guess에 어떠한 값도 주지 않았다. 플래그를 뱉어냈다.

 

 

'워게임 > HackCTF' 카테고리의 다른 글

[HackCTF] 마법봉  (0) 2020.07.31
[HackCTF] web 5번. Read File  (0) 2020.07.19
[HackCTF] web 3번. Button  (0) 2020.07.12
[HackCTF] web 2번. hidden  (0) 2020.07.12
[HackCTF] web 1번. /  (0) 2020.07.12

댓글