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

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

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

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

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

Категории

Все категории
Loading categories
openlitespeed-dup-cookie-litespeed-role — OpenLiteSpeed 1.9.3 — высокий — удалённый — остаточные привилегии — дублирование Cookie в HTTP/1 обходит 403 litespeed_role; lsphp всё равно получает HTTP_COOKIE | Kitploit
Инструменты/GitHubGitHub/abraxas/openlitespeed-dup-cookie-litespeed-role
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииВеб-безопасностьТестирование на ПроникновениеЛаборатории и Практика
GitHub
abraxas/openlitespeed-dup-cookie-litespeed-role

openlitespeed-dup-cookie-litespeed-role

OpenLiteSpeed 1.9.3 — высокий — удалённый — остаточные привилегии — дублирование Cookie в HTTP/1 обходит 403 litespeed_role; lsphp всё равно получает HTTP_COOKIE

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

Популярное

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

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

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

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

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

Abraxas Labs - openlitespeed-dup-cookie-litespeed-role

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  openlitespeed-dup-cookie-litespeed-role

openlitespeed-dup-cookie-litespeed-role

Класс: Остаточная привилегия Достижимость: Удалённая

OpenLiteSpeed 1.9.3 (edbe7f7db12577e905291955a6d416200942fb8b) по-прежнему возвращает 403 на одиночный Cookie: litespeed_role= (блокировка из 1.8.2.1). Дублирование Cookie в HTTP/1 не даёт 400. Дублирование Host / Content-Length / Transfer-Encoding / Authorization — даёт. Вторая строка Cookie понижается до неизвестной, проверка litespeed_role= никогда не выполняется, IS_BL_COOKIE остаётся неустановленным, и lsphp всё ещё получает HTTP_COOKIE. В LSAPI побеждает последний: $_SERVER['HTTP_COOKIE'] в PHP — это вторая строка.

HTTP/2 уже сканирует каждый заголовок Cookie. Этот остаток — HTTP/1.1. В лаборатории $_COOKIE['litespeed_role'] не заполнялся. Это не ATO WordPress. Не RCE.

IDCVE пока нет
КлассОстаточная привилегия (пропуск 403 для litespeed_role= из 1.8.2.1)
ДостижимостьУдалённая (неаутентифицированный HTTP/1.1)
CWECWE-693, CWE-436
CVSSHigh: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
ПродуктOpenLiteSpeed
Затронуто1.9.3 (edbe7f7); HTTP/1.1 плюс lsphp
Аутентификацияотсутствует
ЛицензияGNU Affero GPL v3.0
Лабораториятолько 127.0.0.1:18750

Что может сделать атакующий

Отправить два заголовка Cookie в одном HTTP/1.1-запросе. Первый безвреден. Второй содержит litespeed_role=. OpenLiteSpeed возвращает 403 на это имя при одиночном заголовке Cookie и на каждом заголовке Cookie в HTTP/2. Дублирование Cookie в HTTP/1 обходит 403. lsphp всё ещё видит роль в HTTP_COOKIE.

Приложения, которые разбирают HTTP_COOKIE, получают значение, которое контроль из 1.8.2.1 должен был не допускать до воркера. Приложения, которые читают только $_COOKIE['litespeed_role'], в этой лаборатории его не увидели.

Как я это нашёл

Двадцать поисков по исходникам v1.9.3 после Caddy и lighttpd. Блокировка из 1.8.2.1 — это memmem(..., "litespeed_role=", 15) по первому общему Cookie. Дублирование Cookie отсутствует в списке 400.

Ошибочные пути: считать, что urllib способен отправить два заголовка Cookie (он их объединяет); ожидать, что официальный docker слушает на 8088 (образ из Hub — на 80); ожидать, что $_COOKIE следует за HTTP_COOKIE по принципу «побеждает последний» (LSAPI заполнил таблицу cookie из первого заголовка).

Лаборатория

cd lab
./run.sh

Образ litespeedtech/openlitespeed:1.9.3-lsphp84. Оракул lab/www/cookie.php. Необработанные сокеты HTTP/1.1. Привязка к loopback.

SUCCESS openlitespeed-dup-cookie-litespeed-role single-cookie=403 dummy=200 dup-cookie=200 php-sees-role=yes how=php-http-cookie OLS-DUP-COOKIE-LITESPEED-ROLE-WITNESS

Исправление

Сканировать каждый заголовок Cookie в HTTP/1 так же, как это уже делается в HTTP/2, либо возвращать 400 на дублирование Cookie так же, как 400 возвращается на Host.

Ссылки

  • github.com/litespeedtech/openlitespeed тег v1.9.3 (edbe7f7db12577e905291955a6d416200942fb8b)
  • src/http/httpreq.cpp дублирование общих заголовков, сканирование litespeed_role= по первому Cookie, 403 для IS_BL_COOKIE
  • src/http/httpcgitool.cpp экспорт неизвестного заголовка как HTTP_COOKIE
  • блокировка litespeed_role cookie из 1.8.2.1
Скачать инструмент