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
h2spacex — Libreria/strumento di basso livello per la sincronizzazione dell'ultimo frame HTTP/2 (nota anche come Single Packet Attack) basato su Scapy + attacchi di timing exploit | Kitploit
Strumenti/GitHubGitHub/nxenon/h2spacex
Sniffing e Analisi dei PacchettiExploitSfruttamento di Applicazioni WebSicurezza WebFuzzingSicurezza di RetePenetration TestingUtilità e FrameworkPaper e Ricerca
GitHubnxenon/h2spacex

h2spacex

Libreria/strumento di basso livello per la sincronizzazione dell'ultimo frame HTTP/2 (nota anche come Single Packet Attack) basato su Scapy + attacchi di timing exploit

2291943 mesi faRevisionato da Kitploit
Vedi RepositorySito web

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

H2SpaceX   H2SpaceX

pypi: 1.2.2 Python: 3.8.8 License: GPL v3

Libreria HTTP/2 di basso livello basata su Scapy che può essere utilizzata per il Single Packet Attack (Race Condition su H2)

  • Questa libreria è stata parte di una ricerca accademica dal titolo QUIC-er Races: HTTP/3 won’t save you from TOCTOU vulnerabilities.

Approfondimento sull'articolo Single Packet Attack

Ho scritto un articolo e l'ho pubblicato su InfoSec Write-ups:

  • Dive into Single Packet Attack

TODO

  • Single Packet Attack - POST
    • implement
  • Single Packet Attack - GET
    • Metodo Content-Length: 1
    • Richiesta POST con header x-override-method: GET
  • Response Parsing
    • implement
    • implement threaded response parser
    • add response times in nano seconds for timing attacks
    • Body Decompression
      • gzip
      • br
      • deflate
  • Proxy
    • Socks5 Proxy

Change Log & Versioni Beta

  • 1.2.2

    • packaging: consolidated build config into pyproject.toml and removed setup.py
      • fixed invalid [options] sections so package discovery is defined correctly
      • exposed the dev extra (twine) that the old setup.py typo had dropped
    • code cleanup
      • removed unused import and a redundant header-normalization call in GET request builder
      • GET requests now respect check_headers_lowercase=False (consistent with other request methods)
    • added tests/ (unit tests for header utilities) and CONTRIBUTING.md (build & release guide)
  • 1.2.1

    • merged PR-6
      • implement setup_connection for H2Connection (no TLS)
    • merged PR-7
      • normalize HTTP header names using Parser instead of regex
    • fixed Issue 8
      • parsing issue with raw data frames (packets)

Ulteriori ricerche

Alcune delle seguenti affermazioni sono solo idee e non sono state testate o implementate.

  • Più richieste in un singolo pacchetto
    • Aumentare l'MSS (idea di James Kettle)
    • Pacchetti TCP fuori ordine (idea di James Kettle)
    • Frammentazione IP
  • Inoltrare la richiesta Single Packet attraverso SOCKS
  • Single Packet Attack su richieste GET
    • Metodo Content-Length: 1 (idea di James Kettle)
    • Metodo x-override-method: GET (idea di James Kettle)
    • Indicizzare gli header HPACK per rendere le richieste GET più piccole
    • Frame HEADERS senza flag END_HEADER
    • Frame HEADERS senza alcuni pseudo header

Installazione

H2SpaceX funziona con Python 3 (preferibile: >=3.8.8)

pip install h2spacex

Errore durante l'installazione

se ricevi errori da scapy:

pip install --upgrade scapy

Avvio rapido

Puoi importare la HTTP/2 TLS Connection e configurare la connessione. Dopo aver configurato la connessione, puoi fare altre cose:

from h2spacex import H2OnTlsConnection

h2_conn = H2OnTlsConnection(
    hostname='http2.github.io',
    port_number=443,
    ssl_log_file_path="PATH_TO_SSL_KEYS.log"  # optional (if you want to log ssl keys to read the http/2 traffic in wireshark)
)

h2_conn.setup_connection()
...

vedi altri esempi nella pagina Wiki

Esempi

Vedi gli esempi che contengono alcuni esempi di race condition di Portswigger.

Pagina degli esempi

Metodo Single Packet Attack potenziato (Black Hat 2024) per attacchi di timing

James Kettle ha introdotto una versione migliorata del Single Packet Attack al Black Hat 2024 per gli attacchi di timing:

Impvoved Version Image

Puoi implementare questo metodo facilmente usando il metodo send_ping_frame().

Vedi questa Wiki e la parte Parse Response (Threaded) + Response Times for Timing Attacks:

  • New Method README (WIKI)

Improved Version of SPA Sample Exploit

Riferimenti del metodo migliorato:

  • Listen to the whispers: web timing attacks that actually work

Riferimenti e risorse

  • James Kettle DEF CON 31 Presentation
  • Portswigger Research Page
  • HTTP/2 in Action Book

Ho anche preso alcune idee da una libreria sviluppata in precedenza h2tinker.

Infine, grazie ancora a James Kettle per aver aiutato direttamente e aver indicato alcune altre tecniche.

Scarica lo strumento