Практика
Game: Perform tasks and rest cool.5 people play!
Play gameПолное раскрытие пути (FPD) - это раскрытие полного рабочего пути уязвимого сценария. Ошибка FPD выполняется путем введения неожиданных символов в определенные параметры веб-страницы. Сценарий не ожидает вставленный символ и возвращает сообщение об ошибке, которое включает информацию об ошибке, а также рабочий путь целевого сценария.
Уязвимости FPD обычно рассматриваются как угрозы низкого риска, которые веб-мастера часто упускают из виду, так как им нечего беспокоиться или какие-либо особенности языка сценариев. Хотя последнее верно, только веб-мастер должен видеть вывод сообщений об ошибках и регистрировать их соответствующим образом; злоумышленник никогда не должен видеть вывод сообщения об ошибке на веб-странице.
Низкий до среднего (косвенный).
Экстремально высокий.
Хотя уязвимости FPD обычно воспринимаются как низкий риск, они часто могут использоваться в сочетании с другими методами эксплуатации и могут означать разницу между успешным взломом и провалом.
Одним из примеров таких отношений может быть использование уязвимости LFI в партнерстве с FPD. Только с помощью LFI (будь то с помощью обычного метода include или с помощью SQL-инъекции с помощью load_file ()) злоумышленник может быть не в состоянии найти папку, содержащую файл конфигурации, который он хочет просмотреть, или, возможно, стандарт включает в себя папки ) ха [с | ве] был переименован.
Если злоумышленник может вызвать ошибку, которая выведет местоположение важного файла или папки, он может прочитать содержимое файла конфигурации SQL и, в свою очередь, получить полный доступ к базе данных.
Хотя FPD обычно используются в сочетании с другими методами атаки, иногда они могут быть все, что нужно злоумышленнику для получения доступа к базе данных или серверу. Примером этого может быть использование веб-приложения с плоскими файлами. Веб-приложение может быть уязвимо для раскрытия полного пути, который отражает местоположение базы данных плоских файлов; это может включать административную информацию, такую как пароли панели администрирования, адреса электронной почты или пароли пользователей.
Game: Perform tasks and rest cool.5 people play!
Play gameArray [] Ввод параметров возможен, когда сценарий разрабатывает вызов с помощью параметра $ _GET. Если параметр $ _GET обернут в функцию, которая ожидает строку - например, htmlentities () или opendir () - но получает массив, это приведет к сообщению об ошибке. Вывод сообщения об ошибке будет выглядеть следующим образом:
Предупреждение: htmlentities () ожидает, что параметр 1 будет строкой, а массив указан в /var/www/foobar.php в строке 16
Поскольку функция ожидает, что этот параметр будет строкой, результат данного массива будет представлять вызов параметра как несуществующий, выводя только ошибку из функции.
Game: Perform tasks and rest cool.5 people play!
Play gamejavascript : void ( document. cookie = "PHPSESSID =" ) ;
После выполнения инъекции требуется обновление страницы. Если внедрение прошло успешно, это приведет к сообщению об ошибке, похожему на следующее:
Предупреждение: session_start () [function.session-start]: идентификатор сессии содержит недопустимые символы, допустимые символы - это az, AZ, 0-9 и '-,' в /var/www/foobar.php в строке 3
Поскольку функция session_start () не ожидает недопустимых символов, она выдает предупреждение, что приводит к раскрытию полного пути.
Разработчикам веб-приложений иногда не удается добавить безопасные проверки в файлы, для которых требуются предварительно загруженные файлы библиотеки / функции. Это может привести к раскрытию возможной конфиденциальной информации при прямом запросе URL-адресов этих приложений. Иногда это ключ к уязвимости локального включения файлов.
Что касается Mambo CMS, если мы получим доступ к прямому URL, http://site.com/mambo/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/PSpellShell.php , то мы получим
<br /> <b> Неустранимая ошибка </ b>: класс «SpellChecker» не найден в <b> /home/victim/public_html/mambo/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/PSpellShell.php </ b> в строке <b> 9 </ b> <br />
Этот вид проверки может быть легко выполнен разработчиками с помощью инструмента inspathx .
Предотвратить инъекцию FPD без системы обработки / управления ошибками так же просто, как отключить отображение сообщений об ошибках. Это можно сделать в файле PHP php.ini, в файле Apache httpd.conf или через сам скрипт PHP:
php.ini:
display_errors = 'off'
httpd.conf / apache2.conf:
php_flag display_errors off
PHP скрипт:
ini_set ( 'display_errors' , false ) ;
Game: Perform tasks and rest cool.5 people play!
Play gameВ случае внедрения параметра array [] использование PHP-функции is_array () может использоваться для обработки внедрения и регистрации попытки в желаемый файл или базу данных:
( isset ( $ var ) && is_array ( $ var ) ) ? logfunction ( ) : / * продолжить * / ;
В случае неоперабельного внедрения сеанса использование регулярных выражений может использоваться для фильтрации недопустимых значений сеанса от внедрения. Проверка на наличие символов, отличных от az, AZ, 0-9 и '-,', позволит попытке раскрытия войти в нужный файл или базу данных.
Хотя раскрытие полного пути - это удобный метод разведки, который можно использовать в ситуациях для успешного завершения, весьма маловероятно, что сама по себе уязвимость приведет к успешному взлому.
Game: Perform tasks and rest cool.5 people play!
Play gameУязвимость в большинстве случаев используется как метод разведки, используемый для сбора информации о цели.
Комментарии
Оставить комментарий
информационная безопасность - Криптография и Криптоанализ. Стеганография. Защита Информации
Термины: информационная безопасность - Криптография и Криптоанализ. Стеганография. Защита Информации