
해당 문제를 풀기 위해서도 마찬가지로 서버를 생성하고, 문제 파일을 다운로드하여야 한다.

생성된 서버를 클릭하면 해당과 같은 화면이 나타난다.
이제 다운로드한 코드 파일을 살펴보겠다.

총 3개의 (index, list, upload) 코드 파일이 있다는 것을 확인하였습니다.

첫 번째로 index.php 코드 파일입니다.

두 번째는 list.php 코드 파일이다.


세 번째로는 upload php 코드 파일입니다.
코드를 통해 파일 upload는 upload php에서 동작을 하는데, 이에 대한 필터링의 부분은 존재하지 않는다는 사실을 알 수 있습니다. 또한 파일을 업로드하면, list에서 업로드 한 파일을 볼 수 있다는 것을 알 수 있습니다.
더불어 list.php 코드를 살펴보면, 업로드 한 파일의 값도 함께 출력해 준다는 사실을 알 수 있습니다.
그렇기에 문제에서 주어진 조건을 통해 flag를 얻기 위해서,

곧 flag.txt를 출력하기 위해서 system 함수를 활용하여 코드를 작성하였습니다.

system 함수를 이용한 flag.php 파일을 작성하였습니다.

다시 서버로 돌아가서, upload를 클릭하여 파일에 flag.php을 업로드 하였습니다.


파일을 업로드하였더니, 해당과 같은 화면이 나타난다는 사실을 알 수 있었습니다.

다시 list.php로 이동하였더니, 우리가 upload 한 flag.php파일이 있음을 확인할 수 있었습니다.
해당 flag.php를 클릭해 보니

우리가 얻고자 했던 flag가 출력된다는 사실을 알 수 있었습니다.

문제 풀이 완-료!
'Dreamhack' 카테고리의 다른 글
| [Dreamhack_문제 풀이 _web-ssrf] (0) | 2023.11.22 |
|---|---|
| [Dreamhack_web 문제 풀이 _file-download-1] (0) | 2023.11.18 |
| [Dreamhack_web 문제 풀이_command-injection-1] (0) | 2023.11.18 |
| [Dreamhack 문제 풀이] _ Mango (0) | 2023.11.10 |
| [Dreamhack 문제 풀이] _ simple_sqli (0) | 2023.11.10 |