728x90
Description
php로 작성된 파일 저장 서비스입니다.
파일 업로드 취약점을 이용해 플래그를 획득하세요. 플래그는 /flag.txt에 있습니다.
풀이
step 1. 접속 정보 사이트로 접속 & 파일 다운로드 후 확인
3r개 php 파일이 있다. 이 중 upload.php을 살펴보았다.
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_FILES)) {
$directory = './uploads/';
$file = $_FILES["file"];
$error = $file["error"];
$name = $file["name"];
$tmp_name = $file["tmp_name"];
if ( $error > 0 ) {
echo "Error: " . $error . "<br>";
}else {
if (file_exists($directory . $name)) {
echo $name . " already exists. ";
}else {
if(move_uploaded_file($tmp_name, $directory . $name)){
echo "Stored in: " . $directory . $name;
}
}
}
}else {
echo "Error !";
}
die();
}
?>
따로 필터링이 존재하지 않아 flag.txt로 이동하는 php파일을 작성해 업로드 해 보았다.
system 함수를 사용해 작성해고 php로 저장 후 업로드 해주었다.
업로드 후 List > FLag.php로 들어가보면 FLAG가 나온다.
728x90
'dreamhack' 카테고리의 다른 글
[Dreamhack] pathtraversal (Beginner) (0) | 2023.11.15 |
---|---|
[Dreamhack] ssp_001 (LEVEL 2) (1) | 2023.11.15 |
[Dreamhack] ex-reg-ex (Beginner) (0) | 2023.11.08 |
[Dreamhack] baby-linux (Beginner) (0) | 2023.11.07 |
[Dreamhack] 🌱 simple-web-request (Beginner) (0) | 2023.11.07 |