Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
h2spacex — Synchronisation de dernière trame HTTP/2 (également connue sous le nom d'attaque par paquet unique) bibliothèque/outil de bas niveau basé sur Scapy + Exploit Timing Attacks | Kitploit
Outils/GitHubGitHub/nxenon/h2spacex
Sniffing et Analyse de PaquetsExploitationExploitation d'Applications WebSécurité WebFuzzingSécurité RéseauTests d'IntrusionUtilitaires et FrameworksArticles et Recherche
GitHubnxenon/h2spacex

h2spacex

Synchronisation de dernière trame HTTP/2 (également connue sous le nom d'attaque par paquet unique) bibliothèque/outil de bas niveau basé sur Scapy + Exploit Timing Attacks

229194il y a 3 moisVérifié par Kitploit
Voir le dépôtSite web

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

H2SpaceX   H2SpaceX

pypi: 1.2.2 Python: 3.8.8 License: GPL v3

Bibliothèque HTTP/2 de bas niveau basée sur Scapy, utilisable pour la Single Packet Attack (Race Condition sur H2)

  • Cette bibliothèque a fait partie d'une recherche académique intitulée QUIC-er Races: HTTP/3 won’t save you from TOCTOU vulnerabilities.

Plongée dans l'article Single Packet Attack

J'ai écrit un article et l'ai publié sur InfoSec Write-ups :

  • Dive into Single Packet Attack

TODO

  • Single Packet Attack - POST
    • implémenter
  • Single Packet Attack - GET
    • Méthode Content-Length: 1
    • Requête POST avec l'en-tête x-override-method: GET
  • Analyse des réponses
    • implémenter
    • implémenter un analyseur de réponses multithreadé
    • ajouter les temps de réponse en nanosecondes pour les attaques temporelles
    • Décompression du corps
      • gzip
      • br
      • deflate
  • Proxy
    • Proxy Socks5

Journal des modifications et versions bêta

  • 1.2.2

    • packaging : configuration de build consolidée dans pyproject.toml et suppression de setup.py
      • correction des sections [options] invalides afin que la découverte des paquets soit définie correctement
      • exposition de l'extra dev (twine) que la faute de frappe de l'ancien setup.py avait supprimé
    • nettoyage du code
      • suppression d'un import inutilisé et d'un appel redondant de normalisation des en-têtes dans le constructeur de requêtes GET
      • les requêtes GET respectent désormais check_headers_lowercase=False (cohérent avec les autres méthodes de requête)
    • ajout de tests/ (tests unitaires pour les utilitaires d'en-têtes) et de CONTRIBUTING.md (guide de build et de release)
  • 1.2.1

    • fusion de PR-6
      • implémentation de setup_connection pour H2Connection (sans TLS)
    • fusion de PR-7
      • normalisation des noms d'en-têtes HTTP via Parser au lieu d'une regex
    • correction de Issue 8
      • problème d'analyse avec les trames de données brutes (paquets)

Recherches complémentaires

Certaines des affirmations suivantes ne sont que des idées et ne sont ni testées ni implémentées.

  • Plus de requêtes dans un seul paquet
    • Augmenter le MSS (idée de James Kettle)
    • Paquets TCP désordonnés (idée de James Kettle)
    • Fragmentation IP
  • Proxifier la requête Single Packet via SOCKS
  • Single Packet Attack sur les requêtes GET
    • Méthode Content-Length: 1 (idée de James Kettle)
    • Méthode x-override-method: GET (idée de James Kettle)
    • Indexer les en-têtes HPACK pour réduire la taille des requêtes GET
    • Trame HEADERS sans le drapeau END_HEADER
    • Trame HEADERS sans certains pseudo-en-têtes

Installation

H2SpaceX fonctionne avec Python 3 (préféré : >=3.8.8)

pip install h2spacex

Erreur à l'installation

si vous obtenez des erreurs de scapy :

pip install --upgrade scapy

Démarrage rapide

Vous pouvez importer la connexion HTTP/2 TLS et établir la connexion. Après avoir établi la connexion, vous pouvez faire d'autres choses :

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()
...

voir plus d'exemples dans la page Wiki

Exemples

Voir les exemples qui contiennent quelques cas de race condition de Portswigger.

Page des exemples

Méthode Single Packet Attack améliorée (Black Hat 2024) pour les attaques temporelles

James Kettle a présenté une version améliorée de la Single Packet Attack à la Black Hat 2024 pour les attaques temporelles :

Impvoved Version Image

Vous pouvez implémenter cette méthode facilement grâce à la méthode send_ping_frame().

Voir ce Wiki et la partie Parse Response (Threaded) + Response Times for Timing Attacks :

  • New Method README (WIKI)

Improved Version of SPA Sample Exploit

Référence de la méthode améliorée :

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

Références et ressources

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

J'ai également tiré quelques idées d'une bibliothèque précédemment développée h2tinker.

Enfin, merci encore à James Kettle pour son aide directe et pour avoir indiqué d'autres techniques.

Télécharger l’outil