CTF/WEB

HackCTF_Guess me

HackBeom 2021. 12. 4. 02:21

1. 코드를 보게 되면 guess변수 와 secretcode변수 가 같으면 플레그를 출력해주는 걸 알 수 있다.

2. extract함수에 취약점이 존재한다. 

 

extract함수 취약점이란? 쉽게 말하면 내가 원하는 값으로 변수 내용을 바꿀 수 있는 취약점이다. 

extract 함수가 취약하지 않으려면 변수 선언 전에 사용이 되어야 한다. 하지만 위 소스코드에서는 filename이라는 변수가 먼저 선언이 되었기 때문에 해당 취약점이 발생하는 것이다.

 

그럼 이 문제를 풀기위해서는 guess === filename 변수의 값이 서로 같으면 문제를 풀 수 있을 것이다.

 

http://ctf.j0n9hyun.xyz:2030/? guess=&filename= 

위와 같이 입력하게 되면 

플래그 값이 출력된다.