Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2018-7600 — Пошаговый анализ и лабораторная работа по эксплуатации уязвимости удалённого выполнения кода Drupal CVE-2018-7600, включая отладку, код эксплоита и обзор патча для смягчения уязвимости. | Kitploit
Инструменты/GitHubGitHub/raytran54/cve-2018-7600
Анализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийОбучение и ОбразованиеЛаборатории и Практика
GitHubraytran54/cve-2018-7600

CVE-2018-7600

Пошаговый анализ и лабораторная работа по эксплуатации уязвимости удалённого выполнения кода Drupal CVE-2018-7600, включая отладку, код эксплоита и обзор патча для смягчения уязвимости.

Репозиторий
2 лет назадЕщё не проверено

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

TRAN CONG DANH - SVTT - Наставник: LUU VAN LAN - CVE-2018-7600 - Дата начала: 26/06/2024.

Оглавление:

  1. Обзор CVE
  2. Необходимые условия
  3. Анализ CVE
  4. Смягчение

Обзор CVE

  • Злоумышленник мог вызвать Ajax-запрос Drupal Form API, содержащий функцию call_user_func auto do
  • Drupal до 7.58, 8.x до 8.3.9, 8.4.x до 8.4.6 и 8.5.x до 8.5.1

Необходимые условия

  • В данной лабораторной работе я использую:

    • Ubuntu 20.04 (PHP 7.2, MariaDB)
    • Версия Drupal, используемая в этой работе, — 8.3.8
    • Visual Studio Code для отладки
    • Kali 23.4 для запуска эксплойта Drupal

Анализ CVE

  • Мы находим ключи, использующие call_user_func: #pre_render, #post_render, #access_callback, #submit, #lazy_builder, #validate image
  • Задача теперь — найти, какой параметр, отправленный пользователем, содержит render, может изменить ключ и получить ключ #post_render, чтобы вызвать его. image
  • При изменении размера изображения сервер вызывает API Drupal image
  • Функция &$array, включённая сюда, представляет собой массив элементов по умолчанию при отправке. Давайте попробуем отладку без кода: image image
  • Предположим, вы изменяете значение mail при загрузке: image image

image

  • При вызове метода getValue($array, $parents) процесс выглядит следующим образом:

$ref запрещает ссылки на $array.

Первый цикл: $ref ссылается на $array['a'].

Второй цикл: $ref ссылается на $array['a']['b'].

Третий цикл: $ref ссылается на $array['a']['b']['c'].

В итоге $ref будет ссылаться на значение 42.

root@kitploit:~
$array = [
    'a' => [
        'b' => [
            'c' => 42
        ]
    ]
];
$parents = ['a', 'b', 'c'];
  • После получения значения $form из функции getValue, $form станет аргументом для функции Render

image image image

  • Определение call_user_func

image

  • Результат при использовании файла эксплойта:

image

Смягчение

  • Патч ** Разработчики Drupal опубликовали патч, добавив класс RequestSanitizer с методом stripDangerousValues для удаления всех входных элементов массива, ключи которых начинаются с “#”. Этот метод очищает входные данные в $_GET, $_POST и $_COOKIES.

** Drupal 8.6.5 /core/lib/Drupal/Core/DrupalKernel.php image /core/lib/Drupal/Core/Security/RequestSanitizer.php image image ** Функция stripDangerousValues проверяет все входные параметры один за другим, первые элементы входного массива имеют значение, начинающееся с “#”, а значения, не входящие в белый список, удаляются.

Скачать инструмент