문제 정보
php로 작성된 Back Office 서비스입니다.
LFI 취약점을 이용해 플래그를 획득하세요. 플래그는 /var/www/uploads/flag.php에 있습니다.
풀이 힌트
1. 공격 백터 파악
2. PHP Wrapper
문제 풀이
더보기
![](https://blog.kakaocdn.net/dn/5J4sx/btrjhug5jJc/xGRmP3TcYZhd9OKEI15361/img.png)
![](https://blog.kakaocdn.net/dn/d6S2dk/btrjb2l6EKY/doS5k5gWYcbWis5yKwKI91/img.png)
![](https://blog.kakaocdn.net/dn/benPgW/btrjc5QdbuN/cqunAhXVPM3DaT3GLa33a0/img.png)
![](https://blog.kakaocdn.net/dn/cFWliq/btrjeXYfT7A/lzzCPlJ959A5nG5eK9wKRK/img.png)
![](https://blog.kakaocdn.net/dn/bXrxqp/btrjd3EoNWE/ssJVbTzlLW4Q3KTICCq3FK/img.png)
![](https://blog.kakaocdn.net/dn/rQgcG/btrjc53LWXU/XqbtsEtkNxsNHMpXhnF1Uk/img.png)
![](https://blog.kakaocdn.net/dn/5J4sx/btrjhug5jJc/xGRmP3TcYZhd9OKEI15361/img.png)
문제 페이지에 들어가니, List와 View 페이지가 있었다.
공격 백터를 확인하기 위해 두 페이지를 살펴보겠다.
![](https://blog.kakaocdn.net/dn/d6S2dk/btrjb2l6EKY/doS5k5gWYcbWis5yKwKI91/img.png)
List 페이지를 확인해보니, 두 가지 목록이 있었다.
![](https://blog.kakaocdn.net/dn/benPgW/btrjc5QdbuN/cqunAhXVPM3DaT3GLa33a0/img.png)
제일 의심가는 flag.php를 확인해보니, View 페이지로 이동하였고 flag.php의 내용을 보지 못하게 막았다.
![](https://blog.kakaocdn.net/dn/cFWliq/btrjeXYfT7A/lzzCPlJ959A5nG5eK9wKRK/img.png)
hello.json은 잘 읽어지는 것으로 보인다.
근데 이상한 점이 보통 페이지를 이동할 때, /list.php?param=~~로 제어할텐데 index.php의 page 파라미터로 페이지를 제어하는 것으로 보인다. 예상하는 것은 index.php의 page 파라미터는 include에 들어가는 것으로 보인다.
현재 파악한 공격 백터는 밑과 같다.
- index.php의 page 파라미터
- index.php의 file 파라미터
가장 유력한 공격 백터는 page 파라미터이니, page 파라미터에 공격을 시도하겠다.
![](https://blog.kakaocdn.net/dn/bXrxqp/btrjd3EoNWE/ssJVbTzlLW4Q3KTICCq3FK/img.png)
![](https://blog.kakaocdn.net/dn/rQgcG/btrjc53LWXU/XqbtsEtkNxsNHMpXhnF1Uk/img.png)
직접적으로 flag.php를 호출하면, can you see $flag?를 출력하는 것으로 보인다.
나는 위와 같은 검사를 우회하기 위해 PHP wrapper를 이용하여 LFI 공격을 시도하였다.
- expect://
expect는 작동이 안되는 것을 확인 할 수 있었다./?page=expect://ls - php://filter/
/?page=php://filter/convert.base64-encode/resource=../uploads/flag 다행히 php://filter는 작동되어 base64로 인코딩된 flag.php의 내용이 출력되었다. 확인해보니, 직접 flag.php를 호출하면 can you see $flag?가 출력된 이유는 php 특성상 안 나왔던 것 였다.
그래서 $flag이라는 문구를 줘서 php 코드 상에 flag가 있다고 힌트를 주는 것이 아닐까? 라는 생각을 하게 되었다.
'Wargame > Dreamhack' 카테고리의 다른 글
[Dreamhack Web - Lv 1] Carve Party (0) | 2021.11.01 |
---|---|
[Dreamhack Web - Lv 1] Mango (0) | 2021.11.01 |
[Dreamhack Web - Lv 1] web-misconf-1 (0) | 2021.10.28 |
[OverTheWire System - Bandit] Level 11 >> Level 12 (0) | 2021.10.28 |
[Dreamhack Web - Lv 1] command-injection-1 (0) | 2021.10.27 |
Comment