Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
openlitespeed-dup-cookie-litespeed-role — OpenLiteSpeed 1.9.3 - Alta - Remota - Privilegio residuo - Cookie duplicato HTTP/1 salta litespeed_role 403; lsphp riceve comunque HTTP_COOKIE | Kitploit
Strumenti/GitHubGitHub/abraxas/openlitespeed-dup-cookie-litespeed-role
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebRaccolta InformazioniSicurezza WebPenetration TestingLab e Pratica
GitHub
abraxas/openlitespeed-dup-cookie-litespeed-role

openlitespeed-dup-cookie-litespeed-role

OpenLiteSpeed 1.9.3 - Alta - Remota - Privilegio residuo - Cookie duplicato HTTP/1 salta litespeed_role 403; lsphp riceve comunque HTTP_COOKIE

Vedi Repository
1310 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

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

Classe: Residuo di privilegio Portata: Remota

OpenLiteSpeed 1.9.3 (edbe7f7db12577e905291955a6d416200942fb8b) restituisce ancora 403 per un singolo Cookie: litespeed_role= (il blocco della 1.8.2.1). Un Cookie duplicato in HTTP/1 non è 400. Host / Content-Length / Transfer-Encoding / Authorization duplicati lo sono. La seconda riga Cookie viene declassata a sconosciuta, la scansione di litespeed_role= non viene mai eseguita, IS_BL_COOKIE resta non impostato, e lsphp riceve comunque HTTP_COOKIE. LSAPI last-wins: $_SERVER['HTTP_COOKIE'] in PHP è la seconda riga.

HTTP/2 scansiona già ogni header Cookie. Questo residuo è HTTP/1.1. Il lab non ha popolato $_COOKIE['litespeed_role']. Non è un ATO di WordPress. Non è RCE.

IDnessuna CVE al momento
ClasseResiduo di privilegio (skip del 403 su litespeed_role= della 1.8.2.1)
PortataRemota (HTTP/1.1 non autenticato)
CWECWE-693, CWE-436
CVSSAlto: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
ProdottoOpenLiteSpeed
Affetto1.9.3 (edbe7f7); HTTP/1.1 più lsphp
Authnessuna
LicenzaGNU Affero GPL v3.0
Labsolo 127.0.0.1:18750

Cosa può fare un attaccante

Inviare due header Cookie su una singola richiesta HTTP/1.1. Il primo è innocuo. Il secondo trasporta litespeed_role=. OpenLiteSpeed restituisce 403 per quel nome su un singolo header Cookie e su ogni header Cookie HTTP/2. Un Cookie HTTP/1 duplicato salta il 403. lsphp vede comunque il ruolo in HTTP_COOKIE.

Le app che analizzano HTTP_COOKIE ottengono il valore che il controllo della 1.8.2.1 doveva tenere lontano dal worker. Le app che leggono solo $_COOKIE['litespeed_role'] non lo hanno visto in questo lab.

Come l'ho trovato

Venti ricerche nel sorgente della v1.9.3 dopo Caddy e lighttpd. Il blocco della 1.8.2.1 è memmem(..., "litespeed_role=", 15) sul primo Cookie comune. Un Cookie duplicato non è nella lista dei 400.

Vicoli ciechi: considerare urllib capace di inviare due header Cookie (li unisce); aspettarsi che il docker ufficiale ascolti sulla 8088 (l'immagine su Hub è sulla 80); aspettarsi che $_COOKIE segua il last-wins di HTTP_COOKIE (LSAPI ha riempito la tabella dei cookie dal primo header).

Lab

cd lab
./run.sh

Immagine litespeedtech/openlitespeed:1.9.3-lsphp84. Oracle lab/www/cookie.php. Socket HTTP/1.1 grezzi. Bind su 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

La correzione

Scansionare ogni header Cookie HTTP/1 come già fa HTTP/2, oppure restituire 400 per un Cookie duplicato come si fa 400 per Host.

Riferimenti

  • github.com/litespeedtech/openlitespeed tag v1.9.3 (edbe7f7db12577e905291955a6d416200942fb8b)
  • src/http/httpreq.cpp header comuni duplicati, scansione litespeed_role= sul primo Cookie, 403 IS_BL_COOKIE
  • src/http/httpcgitool.cpp esportazione di header sconosciuti come HTTP_COOKIE
  • blocco 1.8.2.1 cookie litespeed_role
Scarica lo strumento