Skip to main content

HTTP/2 Single Packet Attack low level library based on Scapy

Project description

H2SpaceX   H2SpaceX

pypi: 0.1.16 Python: 3.10 License: GPL v3

HTTP/2 low level library based on Scapy which can be used for Single Packet Attack (Race Condition on H2)

TODO

  • Single Packet Attack - POST &...
    • implement
    • test functionality on different H2 frameworks
  • Single Packet Attack - GET
    • implement
    • Content-Length: 1 Method
    • POST Request with x-override-method: GET header
    • test functionality on different H2 frameworks
  • Response Parsing
    • implement
    • implement threaded response parser
    • Body Decompression
      • gzip
      • br
      • deflate
  • Proxy
    • Socks5 Proxy

More Research

Some following statements are just ideas and not tested or implemented.

  • More Request in a Single Packet
    • Increase MSS (Idea by James Kettle)
    • Out of Order TCP Packets (Idea by James Kettle)
    • IP Fragmentation
  • Proxy the Single Packet Request through SOCKS
  • Single Packet Attack on GET Requests
    • Content-Length: 1 Method (Idea by James Kettle)
    • x-override-method: GET Method (Idea by James Kettle)
    • Index HPACK Headers to Make GET Requests Smaller
    • HEADERS Frame without END_HEADER Flag
    • HEADERS Frame Without Some Pseudo Headers

Installation

H2SpaceX works with Python 3 (preferred: >=3.10)

pip install h2spacex

Quick Start

You can import the HTTP/2 TLS Connection and set up the connection. After setting up the connection, you can do other things:

from h2spacex import H2OnTlsConnection

h2_conn = H2OnTlsConnection(
    hostname='http2.github.io',
    port_number=443
)

h2_conn.setup_connection()
...

see more examples in Wiki Page

References & Resources

I also got some ideas from a previous developed library h2tinker.

Finally, thanks again to James Kettle for directly helping and pointing some other techniques.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

h2spacex-0.1.16.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

h2spacex-0.1.16-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file h2spacex-0.1.16.tar.gz.

File metadata

  • Download URL: h2spacex-0.1.16.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for h2spacex-0.1.16.tar.gz
Algorithm Hash digest
SHA256 216e2488b6ebf8cc3294ce115dbb674c5383b3691f2b917d0570d0435e1a6bcb
MD5 197361ed8b28fe821e86336c993198fa
BLAKE2b-256 82a00d107120e48ab3e665cf511259c56b7cbe124ac789e0ccd34679f0762a94

See more details on using hashes here.

File details

Details for the file h2spacex-0.1.16-py3-none-any.whl.

File metadata

  • Download URL: h2spacex-0.1.16-py3-none-any.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for h2spacex-0.1.16-py3-none-any.whl
Algorithm Hash digest
SHA256 f28de13291d88785867d9de702ffc1038e591577e7735a04425d88afcfe91e83
MD5 59a3da5c3e45b3351c878363f1a99e33
BLAKE2b-256 4e213a351a1d70ecd28e3904cb0a52ffd4cca7c6bc6edfbe2f2895bc299b0cb8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page