[webhacking.kr] old-25

asdf·2026년 4월 2일

web

목록 보기
19/32


접속하면 어딘가 익숙한 화면이 반겨줍니다. 리눅스에서 ls -al을 실행한 결과랑 동일한 창인거 같습니다. 파일을 보면 flag.php, hello.php, index.php 라는 파일이 존재합니다.
url이 http://webhacking.kr:10001/?file=hello 이므로 file에 flag를 넣어 이동해 보겠습니다.

그러면 FLAG is in the code 라는 글이 나옵니다. flag.php 라는 파일 안에 구하려는 플래그가 존재한다는 얘긴거 같은데 그럼 저 파일을 확인하려면 어떻게 해야할까요? ?file=hello 처럼 파일 경로를 파라미터로 직접 받는 경우 LFI 취약점이 존재할 수 있습니다. php WrapperLFI 취약점에 관한 내용은 연결된 링크를 참조해주세요.

이 문제도 GET을 통해 파일 경로를 파라미터로 직접 받고 있습니다. flag.php 파일 안에 플래그가 존재한다고 했으니 php wrapper를 사용해 파일에 들어있는 플래그를 확인해 보겠습니다.

원본 소스 코드를 읽을 때 php://filter wrapper를 사용합니다.

?file= 이후에 php://filter/read=convert.base64-encode/resource=flag 를 넣으면 base64로 인코딩 된 소스 코드를 얻을 수 있습니다.

<?php
  echo "FLAG is in the code";
  $flag = "FLAG{this_is_your_first_flag}";
?>

디코딩을 한 결과는 다음과 같습니다.

profile
Rainy Waltz(a_hisa)

0개의 댓글