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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/nika0x38/cve-2018-7600
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеКомандование и УправлениеОбучение и Образование
GitHubnika0x38/cve-2018-7600

CVE-2018-7600

Реализация на Rust эксплойта CVE-2018-7600, нацеленная на уязвимые установки Drupal 7 (<= 7.57)

Репозиторий
11 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2018-7600 - Удаленное выполнение кода в Drupal 7

RustSecurity

Реализация эксплойта CVE-2018-7600 на Rust, нацеленная на уязвимые установки Drupal 7 (<= 7.57). Этот CLI воспроизводит следующий поток PoC: он отравляет кэшируемую рендерируемую форму через путь user/password, извлекает form_build_id, а затем активирует кэшированную полезную нагрузку через конечную точку file/ajax для достижения удаленного выполнения кода посредством вызова PHP-функции.

Обзор уязвимости

CVE-2018-7600 — это уязвимость удаленного выполнения кода, затрагивающая Drupal 7 (а также Drupal 8 в ином контексте). В Drupal 7 проблема возникает из-за недостаточной санитизации при кэшировании и последующем рендеринге некоторых рендерируемых массивов. Внедряя особым образом сформированные метаданные рендеринга в конечную точку, которая кэшируется, злоумышленник может вызвать выполнение произвольных PHP-функций при последующем рендеринге или запросе кэшированных данных.

Технические детали

  • Эксплойт злоупотребляет системой рендеринга и кэшем Drupal, чтобы внедрить рендерируемый массив, чей обратный вызов #post_render является произвольной PHP-функцией (например, passthru).
  • Поток PoC обычно отправляет POST-запрос на ?q=user/password с параметрами сформированного рендерируемого массива, чтобы Drupal закэшировал отравленную форму.
  • После отравления и получения form_build_id PoC активирует полезную нагрузку, вызывая /file/ajax/name/#value/<form_build_id> с form_build_id в теле POST. Когда Drupal рендерит кэшированный элемент, обратный вызов #post_render выполняется с управляемой злоумышленником разметкой, что позволяет выполнять команды.

Описание

Этот Rust CLI выполняет двухэтапную последовательность (отравление, затем активация) против целевого сайта Drupal 7, используя параметры запроса, анализирует HTML-ответ на наличие form_build_id, а затем активирует конечную точку file/ajax для выполнения функции, указанной злоумышленником.

Поскольку клиент отключает проверку сертификатов (в соответствии с оригинальным PoC, который передавал verify=False), инструмент будет работать с целями, использующими самоподписанные или иным образом недействительные TLS-сертификаты. Это поведение можно изменить в исходном коде, если вы предпочитаете требовать действительные сертификаты.

Использование

Базовое использование (команда по умолчанию — whoami, функция по умолчанию — passthru):

root@kitploit:~
cargo run -- -u http://target.com/

Выполнение пользовательской команды и функции:

root@kitploit:~
cargo run -- -u http://target.com/ -c "whoami" -f "passthru"

Использование HTTP/S-прокси (формат: http://127.0.0.1:8080/):

root@kitploit:~
cargo run -- -u http://target.com/ -p http://127.0.0.1:8080/

Сводка параметров CLI:

  • -u, target: URL целевого сайта Drupal (например, http://target.com/).
  • -c, --command: команда для выполнения на цели (по умолчанию: whoami).
  • -f, --function: PHP-функция, используемая в качестве вектора атаки (по умолчанию: passthru).
  • -p, --proxy: необязательный URL прокси-сервера для маршрутизации запросов.

Пример полного потока:

  1. Отравьте форму user/password, внедрив обратный вызов #post_render и #markup, содержащий команду.
  2. Проанализируйте ответ, чтобы найти form_build_id внутри form#user-pass.
  3. Отправьте POST на ?q=file/ajax/name/#value/<form_build_id> с form_build_id, чтобы активировать рендеринг и выполнить команду.

Отказ от ответственности

Этот инструмент предназначен только для образовательных целей и санкционированного тестирования на проникновение. Используйте ответственно и только на системах, которыми вы владеете или на тестирование которых у вас есть явное разрешение.

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