[DreamHack] PHP-1

dreamhack

이번엔 php로 작성된 back office 서비스의 플래그를 얻는 문제이다.

LFI 취약점을 이용하라고 하고 플래그는 /var/www/uploads/flag.php 라고 한다.

처음 사이트를 들어갔을 때 list 에 바로 flag.php 가 있었다.
하지만 역시 쉽진 않았다.

소스코드를 확인해 보니 flag 문자 자체를 필터링했다.

저 문자열을 우회해야 하는데 검색하는 도중 이 글을 찾았다.

https://zzzmilky.tistory.com/entry/%EC%9B%B9%ED%95%B4%ED%82%B9-LFI-%EC%B7%A8%EC%95%BD%EC%A0%90-php-wrapper

PHP Wrapper 을 이용해야 한다고 한다. 몇 가지 정해져 있다.

  1. expect://  – 시스템 명령어를 실행한다.
  2. php://filter/  – 문서를 열람할 수 있게 해준다.
  3. zip://  – zip파일의 압축을 풀고 그 코드를 실행시켜 준다.

 

하나씩 해보았다.

일단 expect://ls 를 했으나 아무런 반응이 없었다.
이 방법은 아닌가보다.

다음으로 php://filter/ 통해서 /var/www/uploads/flag.php 파일을 읽어보았다.
뭔가 적혀져 있어 소스코드를 통해 확인해 봤다.

오 작동했다. 이 방법이 맞나보다.

보니까 php://filter/ 을 base64 로 인코딩해 주로 사용한다고 해서 사용해봤다.

이 값을 base64 로 디코딩 해 보았다.

끗.

Related Posts

Leave a comment