[Dreamhack] php-1

sy46·2023년 8월 2일
0

dreamhack

목록 보기
13/20

php-1

index.php

그냥 기본 화면처럼 보이지만, 자세히보면 아래 include 함수가 존재하는 것을 볼 수 있고, 해당 함수를 통해서도 파일을 읽을 수 있을 것 같다.

list.php

directory에 존재하는 파일 중 .. . index.html을 제외한 파일을 가지고 배열을 생성한다.

view.php

만약 GET으로 받은 파라미터에 file이라는 단어가 존재한다면 해당 문구를 리턴, 아니라면 파일을 출력한다.
그렇기에 index.php 파일을 이용하여 flag 값을 얻어오려는 시도를 가장 먼저 했다. 하지만 위와 같은 결과가 나왔는데, 이를 통해 php wrapper를 이용하여 접근을 시도해보았다.

드림핵 강의를 참고해보니, include시 가장 많이 쓰이는 구문은 base64등으로 인코딩하여 php tag를 인코딩시켜 코드가 실행되지 않고 출력되도록하여 소스코드를 노출시키는 방법을 많이 쓴다고 한다.

그래서 작성한 코드

마찬가지로 base64로 인코딩되어 있어 이를 디코딩해주니 FLAG 값이 나왔다.

작성 코드

index.php?page=php://filter/read=convert.base64-encode/resource=../uploads/flag

0개의 댓글