Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2019-9511_Priority-Churn-Data-Dribble — Sonde HTTP/2 leggere per la validazione controllata dei vettori DoS CVE-2019-9511 (Data Dribble) e CVE-2019-9513 (Priority Churn) in ambienti autorizzati. | Kitploit
Strumenti/GitHubGitHub/harley-ghostie/cve-2019-9511_priority-churn-data-dribble
Analisi delle VulnerabilitàExploitSicurezza WebSicurezza di RetePenetration Testing
GitHubharley-ghostie/cve-2019-9511_priority-churn-data-dribble

CVE-2019-9511_Priority-Churn-Data-Dribble

Sonde HTTP/2 leggere per la validazione controllata dei vettori DoS CVE-2019-9511 (Data Dribble) e CVE-2019-9513 (Priority Churn) in ambienti autorizzati.

Vedi Repository
55 mesi 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

HTTP/2 CVE-2019-9511 & CVE-2019-9513: sonde leggere

Repository con script di validazione controllata per i comportamenti associati alle CVE CVE-2019-9511 e CVE-2019-9513, entrambe relative a vettori di denial of service nelle implementazioni HTTP/2.

Gli script sono stati creati per supportare validazioni tecniche in ambienti autorizzati, consentendo di osservare se il server negozia HTTP/2 e risponde a pattern specifici relativi a Data Dribble e Priority Churn, senza eseguire un attacco di denial of service.

L'obiettivo è dimostrare il vettore in modo leggero e sicuro, con un basso volume di richieste e senza l'intento di rendere indisponibile l'ambiente.


CVE contemplate

CVENomeScriptDescrizione
CVE-2019-9511HTTP/2 Data Dribbledata_dribble_probe.pyValida il comportamento del controllo di flusso HTTP/2 rilasciando piccoli volumi di dati in modo controllato.
CVE-2019-9513HTTP/2 Priority Churn / Resource Looppriority_churn_probe.pyValida il comportamento di elaborazione dei frame PRIORITY a bassa intensità.

Riepilogo delle vulnerabilità

CVE-2019-9511 — HTTP/2 Data Dribble

La CVE-2019-9511, nota come HTTP/2 Data Dribble, colpisce alcune implementazioni HTTP/2 che non gestiscono in modo efficiente la manipolazione della finestra di flusso e la consegna graduale dei dati.

In questo scenario, un attaccante può richiedere dati al server e manipolare il controllo di flusso per mantenere aperta la risposta e consegnarla in piccoli blocchi, come pacchetti da 1 byte. A seconda dell'implementazione, questo comportamento può causare un consumo eccessivo di CPU, memoria o risorse di connessione, con conseguente rischio di denial of service.

In questo repository, lo script correlato è:

data_dribble_probe.py

L'obiettivo dello script è validare il comportamento in modo leggero, senza generare carico aggressivo e senza tentare di causare indisponibilità.

Riferimenti:

  • https://nvd.nist.gov/vuln/detail/CVE-2019-9511
  • https://www.cve.org/CVERecord?id=CVE-2019-9511
  • https://ubuntu.com/security/CVE-2019-9511

CVE-2019-9513 — HTTP/2 Priority Churn / Resource Loop

La CVE-2019-9513, nota come HTTP/2 Priority Churn o Resource Loop, colpisce alcune implementazioni HTTP/2 che elaborano in modo dispendioso le modifiche continue all'albero di priorità degli stream.

In questo scenario, un attaccante può creare più stream e modificare ripetutamente la priorità tra di essi, causando churn nell'albero delle priorità. A seconda dell'implementazione, questo comportamento può generare un consumo eccessivo di CPU e portare al denial of service.

In questo repository, lo script correlato è:

priority_churn_probe.py

L'obiettivo dello script è validare se il server accetta ed elabora i frame PRIORITY, utilizzando una bassa intensità e senza eseguire un attacco DoS.

Riferimenti:

  • https://nvd.nist.gov/vuln/detail/CVE-2019-9513
  • https://www.cve.org/CVERecord?id=CVE-2019-9513
  • https://ubuntu.com/security/CVE-2019-9513

Nota sulle versioni interessate

Le CVE CVE-2019-9511 e CVE-2019-9513 non sono associate a un'unica versione specifica di server web, come solo nginx, Apache o Tomcat.

Esse colpiscono determinate implementazioni HTTP/2 in diversi prodotti, librerie, proxy, bilanciatori e server. Per questo, la validazione deve considerare quale componente sta negoziando ed elaborando HTTP/2 nell'ambiente analizzato.

Esempi di componenti che possono essere coinvolti:

nginx
Apache HTTP Server
Envoy
HAProxy
Tomcat
Jetty
Node.js
Go net/http2
nghttp2
CDN
WAF
Load Balancer
Ingress Controller Kubernetes

Il primo criterio tecnico è confermare se il servizio negozia HTTP/2 tramite ALPN. Se il servizio non negozia h2, questi script non sono applicabili.

La conferma della vulnerabilità per versione deve essere effettuata sulla base dell'advisory ufficiale del produttore del componente identificato.


Pre-validazione: verificare il supporto HTTP/2

Prima di eseguire gli script, verifica se il target negozia HTTP/2 tramite ALPN.

Usa solo il dominio nel comando, senza https://.

openssl s_client -alpn h2 -connect esempio.com.br:443 </dev/null 2>/dev/null | grep -i "ALPN"

È anche possibile usare un segnaposto:

openssl s_client -alpn h2 -connect <HOST>:443 </dev/null 2>/dev/null | grep -i "ALPN"

Output atteso:

ALPN protocol: h2

Se l'output indica h2, il servizio negozia HTTP/2 e gli script possono essere applicabili.

Se non c'è risposta o il protocollo negoziato è un altro, come http/1.1, gli script non sono applicabili per quell'endpoint.

Panoramica degli script

ScriptCVE correlataObiettivoQuando usarlo
data_dribble_probe.pyCVE-2019-9511Validare il comportamento associato a Data Dribble utilizzando il controllo della finestra per rilasciare piccoli blocchi di datiUsarlo quando il server supporta HTTP/2 e c'è la necessità di verificare il comportamento di consegna dei frame DATA con finestra ridotta.
priority_churn_probe.pyCVE-2019-9513Validare il comportamento associato a Priority Churn utilizzando frame PRIORITY a bassa intensitàUsarlo quando il server supporta HTTP/2 e c'è la necessità di verificare se elabora le modifiche di priorità degli stream.

Flusso d'uso consigliato

L'ordine più logico per l'utilizzo degli script è:

1. Pré-validação HTTP/2 com openssl
   ↓
2. priority_churn_probe.py
   ↓
3. data_dribble_probe.py

Spiegazione rapida del flusso

Prima, usa il comando con openssl per confermare se il target negozia HTTP/2. Poi, usa priority_churn_probe.py per validare se il server accetta ed elabora i frame di priorità. Successivamente, usa data_dribble_probe.py per osservare il comportamento del server con una finestra di flusso ridotta, rilasciando piccoli volumi di dati in modo controllato.

Entrambi gli script sono probe leggeri. Non hanno l'obiettivo di causare indisponibilità, ma di generare un'evidenza tecnica del comportamento osservato.


Script

priority_churn_probe.py

Descrizione

priority_churn_probe.py è una PoC leggera per la validazione del comportamento correlato alla CVE-2019-9513, nota come HTTP/2 Priority Churn.

Lo script stabilisce una connessione HTTP/2 via TLS, apre piccoli stream HTTP e invia modifiche di priorità tramite frame PRIORITY. Successivamente, misura la latenza prima e dopo l'invio di questi frame per osservare se c'è una variazione nell'elaborazione.

Cosa fa lo script

  • Negozia HTTP/2 tramite ALPN;
  • Apre una connessione TLS con l'host indicato;
  • Invia semplici richieste GET fino a tre path;
  • Misura la latenza iniziale usando PING;
  • Usa un fallback con GET se il PING non è sufficiente;
  • Invia frame PRIORITY a bassa intensità;
  • Misura la latenza dopo il churn di priorità;
  • Mostra un confronto tra il tempo prima e dopo il test.

Scenario d'uso

Usa questo script quando è necessario validare se un server HTTP/2 accetta ed elabora i frame di priorità correlati al vettore Priority Churn, senza eseguire un test DoS aggressivo.

È indicato per la validazione controllata in pentest, l'analisi dell'esposizione HTTP/2 e la dimostrazione tecnica di un comportamento vulnerabile o potenzialmente sensibile.

Campi/parametri da modificare

Lo script riceve i valori tramite argomenti da riga di comando:

--host
--port
--paths
--shuffles

Spiegazione dei parametri

ParametroDescrizione
--hostFQDN del target autorizzato. Non includere https://.
--portPorta TLS su cui è disponibile il servizio HTTP/2. Predefinita: 443.
--pathsElenco di path semplici per aprire stream HTTP/2.
--shufflesNumero di cicli di modifica della priorità. Mantenere basso per un test sicuro.

Path ideale per il test

Scarica lo strumento