URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 5007
[ Назад ]

Исходное сообщение
"Дыра в безопасносности"

Отправлено faddistr , 03-Июн-07 12:49 
есть такой скрипт на php:
<?php
if(!isset($_GET["path"]))
{
    $_GET["path"] = "/";
}
$active_path = realpath($_GET["path"]);
if(is_file($active_path))
{
    header("Content-type: data/data");
    header("Content-Length: ".filesize($active_path));
    header("Content-Disposition: attachment; filename=".basename($active_path));
    readfile($active_path);
}
else
{
    if ($handle = opendir($active_path))
    {
        while (false !== ($object_list[] = readdir($handle)));
        sort($object_list);
        $object_count = count($object_list);
        if($object_count > 0)
        {
            for($i = 0; $i < $object_count; $i++)
            {
                if(is_dir($active_path."/".$object_list[$i]))
                {
                    $dir_list[] = $object_list[$i];
                }
                else
                {
                    $file_list[] = $object_list[$i];
                }
            }
            $file_count = count($file_list);
            $dir_count = count($dir_list);
            print("Папка <b>$active_path</b> - $object_count обьектов ($dir_count папок, $file_count файлов)<br><br>");
            if($dir_count > 0)
            {
                for($i = 0; $i < $dir_count; $i++)
                {
                    print("<a href='data.php?path=".$active_path."/".$dir_list[$i]."'><b>[".$dir_list[$i]."]</b></a><br>");
                }
            }
            if($file_count > 0)
            {
                for($i = 0; $i < $file_count; $i++)
                {
                    print("<a href='data.php?path=".$active_path."/".$file_list[$i]."'>".$file_list[$i]."</a><br>");
                }
            }
        }
        else
        {
            print("Папка пуста");
        }
        closedir($handle);
    }
    else
    {
        print("Ошибка открытия папки $active_path");
    }
}
?>
Дело в том что я делаю  вебхостинг
и при запуске етого скрипта юзер получает доступ к корню /
Т е у него есть доступ ко всем директориям
Как запретит доступ к корню при таком способе взлома?


Содержание

Сообщения в этом обсуждении
"Дыра в безопасносности"
Отправлено tux2002 , 04-Июн-07 08:53 
Поищи по сайту apache chroot

"Дыра в безопасносности"
Отправлено faddistr , 07-Июн-07 13:06 
>Поищи по сайту apache chroot

при запуске в чруте юзерам всеравно доступно много инфы доступ к которой не желательный для них


"Дыра в безопасносности"
Отправлено eax0r , 08-Июн-07 06:41 
Однозначно нужна идентификация/аутентификация пользователей, и в зависемости от ИД у каждого пользователя должна быть своя корневая директория.

"Дыра в безопасносности"
Отправлено x_o_x , 09-Июн-07 08:10 
>Как запретит доступ к корню при таком способе взлома?
safe_mode + suphp



"Дыра в безопасносности"
Отправлено faddistr , 18-Дек-07 19:58 
>>Как запретит доступ к корню при таком способе взлома?
>safe_mode + suphp

OpenBasedir настроить надо было