목록HackCTF/Web (13)
Bace

문제는 다음과 같다. 문제를 들어가보면 php 코드가 있다. if문 중 맨 아래의 else 문에 도달하면 flag를 띄워주는 것 같다. 일단 GET으로 time 에 숫자를 보내보았다. 잘 보내진다. else if 문을 둘 다 만족하지 않는 60*60*24*30*2 값을 계산해보았다. 5184000 이 나온다. 하지만 이 숫자를 그대로 보내면 한참 걸릴것이다. 그래서 5.184000E+6으로 바꿔보내보았다. flag 가 떴다.

문제는 다음과 같다. secret.txt에 있는 내용을 가지고 guess와 비교해서 flag를 주는것 같다. 여기서 취약점은 extract($_GET) 이다. extract($_GET) 을 통해 GET으로 받아오는 인자를 초기화할 수 있다. 그래서 filename을 존재하지 않는 파일명으로 바꿔주고, 존재하지 않은 파일이므로 내용이 없을 것이라서 guess를 공백으로 넘겨주었다. flag가 떴다.

문제를 보면 command에 http://google.com이라고 나와있고, google 페이지가 나온다. 그리고 File 이 flag.php 라고 나와있다. 검색 창에 flag.php 라고 써서 검색해보았다. page not found가 뜬다. command에 file:///flag.php 를 넣으면 될 것 같아 넘겨줘보았다. File이 flag.php 이라고 계속 그런다. command에 http://google.com 을 쳐서 google 페이지가 나온건가 싶어서 command에 flag.php를 넣어봤다. 똑같이 File이 flag.php라고 한다. flag 문자를 필터링 하는건가 싶어서 fflaglag.php로 우회해보았다. flag가 떴다.