Skip to content
KitploitKITPLOIT
StrumentiBlog
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
HTTPSignatures — Un'estensione di Burp Suite che implementa la bozza draft-ietf-httpbis-message-signatures-01 dello standard Signing HTTP Messages. | Kitploit
Strumenti/GitHubGitHub/nccgroup/httpsignatures
Proxy Web e IntercettazioneTest di Sicurezza delle APISicurezza WebCrittografiaAutenticazioneSicurezza delle API
GitHubnccgroup/httpsignatures

HTTPSignatures

Un'estensione di Burp Suite che implementa la bozza draft-ietf-httpbis-message-signatures-01 dello standard Signing HTTP Messages.

Vedi Repository
42104 anni faRevisionato da Kitploit

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
Sito web

Estensione Burp Suite HTTPSignatures

HTTPSignatures è un'estensione Burp Suite che implementa la bozza di specifica Signing HTTP Messages draft-ietf-httpbis-message-signatures-01. Ciò consente agli utenti di Burp Suite di testare senza soluzione di continuità applicazioni che richiedono le HTTP Signatures.

Caratteristiche

  • Crea automaticamente una nuova firma e un nuovo digest in Burp Repeater, Intruder e Scanner quando l'estensione rileva un header HTTP Signature esistente.
  • Supporta l'algoritmo rsa-sha256 per firmare i messaggi (RSASSA-PKCS1-v1_5 [RFC8017] che utilizza SHA-256 [RFC6234]) e SHA-256 per l'header digest.
  • L'estensione funziona in Burp Suite Professional e nella versione gratuita Burp Suite Community Edition.

Utilizzo

Installazione

Scaricare il file dell'ultima release JAR e aggiungerlo in Burp Suite tramite Extender Tab / Extensions / Add.

Configurazione

  1. Dopo aver caricato l'estensione, verrà aggiunta a Burp una nuova voce di menu HTTP Signatures.
  2. Aprire la scheda di configurazione (fare clic sulla voce di menu HTTP Signatures).
  3. La configurazione minima richiede che vengano configurati Header Name, keyId e Private key file name and path. Vedere la descrizione dettagliata di seguito.
  4. Ora è possibile utilizzare Burp Proxy, Repeater, Intruder e Scanner. L'estensione creerà una nuova Signature per ogni richiesta che contiene l'Header Name configurato.

Utilizzo

Dopo che HTTPSignatures è stato configurato correttamente, l'estensione Burp Suite sostituirà il valore dell'header HTTP configurato nell'impostazione Header Name (ad esempio Signature) con una nuova firma per ogni richiesta HTTP inviata tramite Burp Proxy, Repeater, Intruder e Scanner.

Configurazione di HTTPSignatures

Documentazione

L'estensione Burp Suite deve essere configurata prima di poter essere utilizzata. La configurazione di HTTPSignatures si trova nel menu di Burp dopo che l'estensione è stata caricata (di solito a destra del menu Help). Header Name, keyId e Private key file name and path devono essere configurati correttamente affinché l'estensione funzioni. Le impostazioni rimanenti possono essere eventualmente modificate.

  • Header Name: (valori di esempio: Authorization, Signature): il nome dell'header della richiesta HTTP che contiene la firma. La bozza IETF utilizza il nome di header Signature. Oracle Cloud (OCI) utilizza il nome di header Authorization.

  • keyId: il parametro keyId è una stringa US-ASCII utilizzata da un verificatore per identificare e/o ottenere la chiave di verifica della firma. Alcuni esempi di valori possono essere https://mastodon.example.com/users/myUser (per ActivityPub) o ocid1.tenancy.oc1.../ocid1.user.oc1.../{fingerprint} per OCI.

  • Private key file name and path: il percorso completo e il nome del file contenente la chiave privata (ad esempio /home/${USER}/private_key.pem).

  • Digest Header Name: il nome dell'header che contiene il digest. Deve essere x-content-sha256 (per OCI) oppure digest per la maggior parte delle altre implementazioni.

Profili

La configurazione di HTTPSignatures consente di configurare più profili in schede. Creare una nuova scheda facendo clic sulla scheda .... È possibile rinominare le schede facendo doppio clic su una scheda. Per salvare una scheda, fare clic sul pulsante "Save". Per contrassegnare una scheda come profilo attivo, fare clic sul pulsante "Use this profile". La scheda attiva (profilo) è contrassegnata con testo e bordo rossi.

Impostazioni di configurazione globali

La sezione di configurazione globale contiene le impostazioni che si applicano a tutti i profili.

  • Enable the extension for the following Burp Suite tools: l'estensione può essere abilitata o disabilitata per i seguenti strumenti Burp Suite:

    • Proxy (predefinito: disabilitato)
    • Scanner (predefinito: abilitato)
    • Intruder (predefinito: abilitato)
    • Repeater (predefinito: abilitato)

    Il proxy è disabilitato per impostazione predefinita. Gli altri strumenti sono abilitati per impostazione predefinita. Il proxy dovrebbe di solito essere abilitato solo quando si utilizza la funzione di intercettazione. L'estensione non aggiornerà la firma quando è disabilitata.

  • Enable Debug Logs: abilitando questa casella di controllo verranno stampati i log di debug sull'output standard. L'output può essere configurato in Burp Suite in Extender -> Extensions, quindi selezionare l'estensione Signing HTTP Messages. Nella scheda Output è possibile selezionare dove verrà mostrato l'output standard. L'impostazione predefinita è Shown in UI, dove l'output verrà visualizzato all'interno di Burp Suite.

Configurazioni di esempio

ActivityPub

ActivityPub utilizza le HTTP Signatures per l'autenticazione e l'autorizzazione server-to-server.

  • Header Name: Signature
  • keyId: il keyId deve collegarsi all'attore in modo che il campo publicKey possa essere recuperato: https://mastodon.online/users/viktor. È possibile usare curl per recuperare la chiave: curl https://mastodon.online/users/viktor -H 'Accept: application/activity+json'|jq
  • Private key file name and path: /home/user/private_key.pem
  • Digest Header Name: digest
  • Header Names to Sign: GET: date (request-target) host
  • Header Names to Sign: HEAD: date (request-target) host
  • Header Names to Sign: DELETE: date (request-target) host
  • Header Names to Sign: PUT: date (request-target) host content-length content-type digest
  • Header Names to Sign: POST: date (request-target) host content-length content-type digest

Oracle Cloud Infrastructure (OCI)

Tutte le richieste API Oracle Cloud Infrastructure (OCI) richiedono le HTTP Signatures. L'implementazione si basa sulla bozza di specifica con alcune modifiche.

  • Header Name: Authorization
  • keyId: <TENANCY OCID>/<USER OCID>/<KEY FINGERPRINT>, ad esempio ocid1.tenancy.oc1..<unique_ID>/ocid1.user.oc1..<unique_ID>/<key_fingerprint>
  • Private key file name and path: /home/user/private_key.pem
  • Digest Header Name: x-content-sha256
  • Header Names to Sign: GET: date (request-target) host
  • Header Names to Sign: HEAD: date (request-target) host
  • Header Names to Sign: DELETE: date (request-target) host
  • Header Names to Sign: PUT: date (request-target) host content-length content-type x-content-sha256
  • Header Names to Sign: POST: date (request-target) host content-length content-type x-content-sha256
  • Include query parameters in Signature: true

Compilazione con IntelliJ IDEA

  1. Clonare questo repository e Open or Import la cartella HTTPSignatures in IntelliJ IDEA.
  2. Compilare il progetto (Build -> Build Project)
  3. Creare un file JAR da importare in Burp Suite: andare su File -> Project Structure, selezionare Project Settings -> Artifacts.
  4. Fare clic sul segno più per creare un nuovo file JAR "From modules with dependencies" e fare clic su OK.
  5. Selezionare la casella "Include in project build" per creare automaticamente un file JAR durante la compilazione del progetto e fare clic su OK.
  6. Compilare nuovamente il progetto (Ctrl+F9 o ⌘+F9).
  7. Il file JAR viene creato nella cartella del progetto in out/artifacts/HTTPSignatures_jar/HTTPSignatures.jar.
  8. Caricare il file JAR in Burp tramite Extender Tab -> Extensions -> Add.

Compilazione dalla riga di comando con Maven

  1. Clonare questo repository.
  2. Compilare il progetto e creare un file JAR con il comando mvn package assembly:single.
  3. Il file JAR viene creato nella cartella del progetto in target/HTTPSignatures-1.0-SNAPSHOT-jar-with-dependencies.jar.
  4. Caricare il file JAR in Burp tramite Extender Tab -> Extensions -> Add.

Dipendenze

Per compilare il progetto Java sono richieste tre dipendenze:

  • Apache HttpClient (https://hc.apache.org/httpcomponents-client-ga/)
  • Tomitribe's HTTP Signatures Java Client (https://github.com/tomitribe/http-signatures-java)
  • Burp Extender API (https://github.com/PortSwigger/burp-extender-api)
Scarica lo strumento
  • Header Names to Sign: GET: i nomi degli header da includere per le richieste GET (ad esempio date (request-target) host). Il valore (request-target) è un identificatore speciale composto dal metodo della richiesta e dal percorso e dalla query dell'URI della richiesta (ad esempio get /foo?param=value).

  • Header Names to Sign: HEAD: i nomi degli header da includere nelle richieste HEAD (ad esempio date (request-target) host).

  • Header Names to Sign: DELETE: i nomi degli header da includere nelle richieste DELETE (ad esempio date (request-target) host).

  • Header Names to Sign: PUT: i nomi degli header da includere nelle richieste PUT (ad esempio date (request-target) host content-length content-type digest).

  • Header Names to Sign: POST: i nomi degli header da includere nelle richieste POST (ad esempio date (request-target) host content-length content-type digest).

  • Include query parameters in Signature: questo valore booleano specifica se i parametri della query (ad esempio ?param=value) devono essere inclusi nella firma. Sebbene la bozza di standard specifichi che i parametri della query fanno parte dell'identificatore (request-target), non tutte le implementazioni includono i parametri della query. Il valore predefinito è true.

  • Include the port in Signature: alcune implementazioni non includono la porta nell'header host (ad esempio localhost:8080). Questa impostazione consente di rimuovere la porta dal valore dell'header host se impostata su false. Il valore predefinito è true.

  • Include query parameters in Signature: true
  • Include the port in Signature: true
  • Include the port in Signature: true