Php-Nuke POST XSS
Продукт: PHP-Nuke
Версия: 8.0 и ниже Описание: При определенных настройках сервера (4.0.7<=PHP<=5.2.1 и выключенном параметре register_globals off), позволяет злоумышленнику подменять переменные в скриптах, при помощи POST запроса. Устранение: Открываем: mainfile.php Находим (89 строка): PHP код:
И меняем на: PHP код:
Для версий php-nuke ниже 8.0 нужно так же добавить еще ниже: PHP код:
На этом все!:breton: |
У меня версия 7.9.3.1. Этот код присутствует в ней. |
у меня 7.9.3.2 - там его уже нет :(
А вот вторая часть имеется... |
Astrix
Я про вторую часть и говорю. // Die message for empty HTTP_REFERER А первой ниукого наверно нет, раз для 8 менять надо. Заменил себе |
аналогично. я тоже заменил.
|
Soniks, я бы от себя порекомендовал сделать небольшую перестановку в этом коде, а именно: PHP код:
А перед ним вставить вот такой код: PHP код:
Теперь поясню, чем чревато невыполнение этой маленькой просьбы. Переменные cookie вообще не подлежат никакой проверке в Нюке и (мною было только что проверено!!!) хакер может сформировать определенным образом эти самые куки и выполнить произвольный SQL-запрос в БД жертвы. В связи с этим предлагаю уничтожать все переменные, содержащиеся одновременно в cookie и передаваемые в post/get запросе, отдавая при этом приоритет post/get, т. к. они проходят проверку. PS Уязвимость актуальна только при отключенном параметре magic_quotes_gpc PPS Найдено мною только что. |
Astrix
бесполезный шаг, читайте описание функции extract() и не советуйте того чего не проверяли! |
Проверял! И два дня назад взломал таким методом сайт - специально, чтобы проверить (не буду говорить, какой, к тому же они сервер прикрыли), и на локалхосте в разных вариантах все это прогонял! Так что уж поверьте, я знаю, о чем говорю... Описание функции я читал: "EXTR_SKIP - Если есть конфликт, существующая переменная не перезаписывается." в том все и дело, что из COOKIE переменные извлекаются в первую очередь и никаких конфликтов и быть не может! В общем, я останусь при своем мнении. Вы поступайте, как считаете нужным. |
потверждаю, но многие пропаччены
|
Astrix разницы ни какой, т.к. не в этом смысл что первое, т.к. что куки подменить, что в пост добавить, что в гет, любой способ подойдет, если скрипт не проверяет переменные то тут уже проблема не в этом именно... данная проблема существует именно в том, что происходит подмена переменной $_SERVER, на которую опирается фильтр.
|
Часовой пояс GMT +4, время: 02:40. |
Copyright © 2005 by Soniks