Форум о защите от: хакеров, взлом, раскрутка, хакер, вирусы, взлом программы, взлом паролей, взлом вконтакте, взлом icq, раскрутка сайта, взлом скачать, взлом почты, взлом ru, проги взлома, хакер, программа взлома, трояны, программирование

Хакер, взлом, программа, сайт, форум, информатика, железо, разгон, раскрутка, SEO, защита, безопасность, взломать, как взломать, взлом icq, взлом вконтакте, взлом программ, одноклассники, взлом почты, взлом аськи
Текущее время: 27-04, 23:34

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Загрузчик файлов.
СообщениеДобавлено: 23-05, 17:30 
Не в сети
<b><font color=red>Admin</font></b>
Аватара пользователя

Зарегистрирован: 22-05, 15:38
Сообщения: 1901
Пишем нормальный загрузчик файлов на сервер. Такой предмет, как загрузчик файлов, думаю, нуждается во внимании, по нескольким причинам:
× актуальность
× удобность
× угроза атаки

Представьте себе форум, без возможности выбора аватара, или представьте сколько времени можно сэкономить, загружая файлы прямо из окна браузера, не используя различные ftp-клиенты.
И так приступим.
Рассмотрим проблему безопасности. В настоящее время каждый школьник(эквивалентно слову "хакер") знает, что такое веб-шелл, знает что его можно залить на сервер(скажем, через глюки форума IPB, в панели загрузки смайликов) и тем самым заработать 25 рублей(эквивалентно 1$).
Чтобы обезопасить себя от такого рода злоумышленников, стоит запрертить загрузку файлов с раширением ".php".


PHP код:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<title>r0:Умный загрузчик</title>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />
</head>
<body>
        <form action='<?=$_SERVER[PHP_SELF]?>' method='POST' enctype='multipart/form-data' >
<br />
  Добавить херни: <input type='file' name='t_item'> <br />
 <input type='submit' name='ok'  value='Принять' />
    </form>
    </dt>
    </dl>
    </center> 
<?php     
if ($_POST[ok]) {

// Определяем директорию на сервере.
$upfiledir = $_SERVER[DOCUMENT_ROOT]."/dir1/dir2/";
// Полное имя загружаемого файла
$upfile = $upfiledir . basename($_FILES[t_item][name]);

###  Определяем является ли файл - .php файлом ###

// Разрезаем имя файла на "название" и расширение
    $ext = strtolower(strrchr($upfile, "."));
// Массив  с враждебным  (  o_O ) расширением
    $extentions = array(".php");
     
// Если расширение загружаемого файла совпадает с "враждебным" -- хекер идет лесом
    if (in_array($ext, $extentions)) 
    {
    echo "Лол, йо хэккер! =) <br /> Моя бабушка и то бы залила сюда веб-шелл =/ ";
    exit;
    }
// если файл перемещен в нужную директорию выводим информацию
if (move_uploaded_file($_FILES[t_item][tmp_name], $upfile ) )     
    {
    // Данная переменная хранит относительную ссылку, которую можно поместить в БД
        $uplink = "dir1/dir2/".$_FILES[t_item][name]; 
    // Инфа о файле
echo "Файл ".$_FILES[t_item][name]." успешно загружен на сервер! <br />
      Размер: ".$_FILES[t_item][size]." байт. <br />
      Мим-тип: ".$_FILES[t_item][type];
    }     
}

И так.. в итоге получили данный скрипт, который перемещает файл с локального компьютера на сервер.
После того как получен HTTP-запрос, содержимое файла копируется во временный файл, созданный по умолчанию в каталоге сервера для временных файлов.
Информацию о файле можно получить, используя двумерный суперглобальный массив $_FILES.
$_FILES[file][name] - исходное имя.
$_FILES[file][size] - размер файла в байтах .
$_FILES[file][type] - MIME-тип файла.
$_FILES[file][tmp_file] - имя временного файла.
Помните !
1) Форма должна иметь атрибут enctype (enctype='multipart/form-data' ),
без которого загрузка не выполнится
2) Каталог для загрузки должен иметь права на запись, установить которые можно с помощью ftp-клиента или ф-и chmod.

PHP код:
Код:
bool chmod ( string filename, int mode )


Ну всё .. зуфсу


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 10-12, 23:27 
Не в сети
New AH-user

Зарегистрирован: 10-12, 23:20
Сообщения: 4
aasas


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11-12, 18:09 
Не в сети
New AH-user

Зарегистрирован: 11-12, 18:06
Сообщения: 3
Привет!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11-12, 18:10 
Не в сети
New AH-user

Зарегистрирован: 11-12, 18:06
Сообщения: 3
hgfhgf


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11-12, 18:11 
Не в сети
<b><font color=red>Admin</font></b>
Аватара пользователя

Зарегистрирован: 22-05, 15:38
Сообщения: 1901
Вы че совсем охерели здесь флудить?!


Последний раз редактировалось BECHED 11-12, 18:11, всего редактировалось 9 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11-12, 18:11 
Не в сети
New AH-user

Зарегистрирован: 11-12, 18:06
Сообщения: 3
hgfhgf


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11-12, 18:51 
Не в сети
Serios AH-user
Аватара пользователя

Зарегистрирован: 26-10, 15:22
Сообщения: 274
Также можно ещё создать отдельный файл в который будет записываться статистика в какое время с какого айпи название файла дата итд будет записываться.И при загрузке файла изменять название чтобы если уже будет с стаким названием не затирать, просто названию файла присвоить текущие время time() заранее отделив расширение от самого название.

_________________
P.S Это моё мнение навязывать я его нехочу и прошу критики без грубости.
Хочеш семизнак?..пройди по ссылке
Online Manga Reader


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11-12, 18:54 
Не в сети
<b><font color=red>Admin</font></b>
Аватара пользователя

Зарегистрирован: 22-05, 15:38
Сообщения: 1901
Diabolik
Ага, еще time() эффективно шифровать в md5, чтоб было совсем уникальное название.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12-12, 22:41 
Не в сети
Starting AH-user

Зарегистрирован: 17-11, 11:24
Сообщения: 10
салам!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13-12, 05:12 
Не в сети
Serios AH-user
Аватара пользователя

Зарегистрирован: 26-10, 15:22
Сообщения: 274
BECHED писал(а):
Diabolik
Ага, еще time() эффективно шифровать в md5, чтоб было совсем уникальное название.

Ну это уже на твоё усмотрение =)

_________________
P.S Это моё мнение навязывать я его нехочу и прошу критики без грубости.
Хочеш семизнак?..пройди по ссылке
Online Manga Reader


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 27-01, 06:24 
Не в сети
Starting AH-user

Зарегистрирован: 27-01, 06:16
Сообщения: 11
Я пользуюсь Рэджэтом, очень удобно помойму!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


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

Найти:
Перейти:  
cron
Powered by Forumenko © 2006–2014
Русская поддержка phpBB