1. 코드를 보게 되면 guess변수 와 secretcode변수 가 같으면 플레그를 출력해주는 걸 알 수 있다.
2. extract함수에 취약점이 존재한다.
extract함수 취약점이란? 쉽게 말하면 내가 원하는 값으로 변수 내용을 바꿀 수 있는 취약점이다.
extract 함수가 취약하지 않으려면 변수 선언 전에 사용이 되어야 한다. 하지만 위 소스코드에서는 filename이라는 변수가 먼저 선언이 되었기 때문에 해당 취약점이 발생하는 것이다.
그럼 이 문제를 풀기위해서는 guess === filename 변수의 값이 서로 같으면 문제를 풀 수 있을 것이다.
http://ctf.j0n9hyun.xyz:2030/? guess=&filename=
위와 같이 입력하게 되면
플래그 값이 출력된다.
'CTF > WEB' 카테고리의 다른 글
HackCTF_마법봉 (0) | 2021.12.04 |
---|---|
php 연산자 취약점 (0) | 2021.12.04 |
HackCTF_Login (0) | 2021.12.04 |
HackCTF_ReadFile (0) | 2021.12.04 |
HackCTF_보물 (0) | 2021.12.04 |