
Eine Burp-Suite-Erweiterung, die den Entwurf Signing HTTP Messages (draft-ietf-httpbis-message-signatures-01) implementiert.
HTTPSignatures Burp-Suite-ErweiterungHTTPSignatures ist eine Burp-Suite-Erweiterung, die das Entwurfsdokument der Spezifikation Signing HTTP Messages draft-ietf-httpbis-message-signatures-01 implementiert.
Dadurch können Burp-Suite-Benutzer Anwendungen, die HTTP-Signaturen erfordern, nahtlos testen.
rsa-sha256 zum Signieren von Nachrichten (RSASSA-PKCS1-v1_5 [RFC8017] unter Verwendung von SHA-256 [RFC6234]) und SHA-256 für den Digest-Header.Laden Sie die neueste JAR-Version herunter und fügen Sie sie in Burp Suite über den Extender-Tab / Extensions / Add hinzu.
Header Name, die keyId und der Private key file name and path konfiguriert werden. Eine detaillierte Beschreibung finden Sie weiter unten.Header Name enthält, eine neue Signatur.Nachdem HTTPSignatures korrekt konfiguriert wurde, ersetzt die Burp-Suite-Erweiterung den HTTP-Headerwert, der in der Einstellung Header Name konfiguriert ist (z. B. Signature), für jede HTTP-Anfrage, die über Burp Proxy, Repeater, Intruder und Scanner gesendet wird, durch eine neue Signatur.

Die Burp-Suite-Erweiterung muss konfiguriert werden, bevor sie verwendet werden kann.
Die HTTPSignatures-Konfiguration befindet sich nach dem Laden im Burp-Menü (normalerweise rechts neben dem Hilfemenü).
Der Header Name, die keyId und der Private key file name and path müssen korrekt konfiguriert sein, damit die Erweiterung funktioniert.
Die übrigen Einstellungen können optional angepasst werden.
Header Name: (Beispielwerte: Authorization, Signature): Der Name des HTTP-Anfrageheaders, der die Signatur enthält.
Der IETF-Entwurf verwendet den Header-Namen Signature. Oracle Cloud (OCI) verwendet den Header-Namen Authorization.
keyId: Der Parameter keyId ist eine US-ASCII-Zeichenfolge, die von einem Verifizierer verwendet wird, um den Verifikationsschlüssel der Signatur zu identifizieren und/oder zu erhalten.
Beispielwerte können wie https://mastodon.example.com/users/myUser (für ActivityPub) oder ocid1.tenancy.oc1.../ocid1.user.oc1.../{fingerprint} für OCI aussehen.
Private key file name and path: Der vollständige Pfad und Dateiname, der den privaten Schlüssel enthält (z. B. /home/${USER}/private_key.pem).
Digest Header Name: Der Name des Headers, der den Digest enthält. Dies sollte entweder x-content-sha256 (für OCI) oder digest für die meisten anderen Implementierungen sein.
Die HTTPSignatures-Konfiguration ermöglicht die Konfiguration mehrerer Profile in Tabs.
Erstellen Sie einen neuen Tab, indem Sie auf den Tab ... klicken.
Sie können Tabs benennen, indem Sie auf einen Tab doppelklicken.
Um einen Tab zu speichern, klicken Sie auf die Schaltfläche „Save".
Um einen Tab als aktives Profil zu markieren, klicken Sie auf die Schaltfläche „Use this profile".
Der aktive Tab (Profil) ist mit roter Schrift und rotem Rahmen markiert.
Der globale Konfigurationsabschnitt enthält Einstellungen, die für alle Profile gelten.
Enable the extension for the following Burp Suite tools: Die Erweiterung kann für die folgenden Burp-Suite-Tools aktiviert oder deaktiviert werden:
Der Proxy ist standardmäßig deaktiviert. Die anderen Tools sind standardmäßig aktiviert. Das Proxy-Tool sollte normalerweise nur aktiviert werden, wenn die Intercept-Funktion verwendet wird. Die Erweiterung aktualisiert die Signatur nicht, wenn sie deaktiviert ist.
Enable Debug Logs: Durch Aktivieren dieses Kontrollkästchens werden Debug-Logs auf der Standardausgabe ausgegeben. Die Ausgabe kann in Burp Suite unter Extender -> Extensions konfiguriert werden; wählen Sie dort die Erweiterung Signing HTTP Messages aus. Im Tab Output können Sie auswählen, wo die Standardausgabe angezeigt werden soll. Der Standardwert ist Shown in UI, wobei die Ausgabe innerhalb von Burp Suite angezeigt wird.
ActivityPub verwendet HTTP-Signaturen für die Server-zu-Server-Authentifizierung und -Autorisierung.
Signaturehttps://mastodon.online/users/viktor.
Sie können curl verwenden, um den Schlüssel abzurufen: curl https://mastodon.online/users/viktor -H 'Accept: application/activity+json'|jq/home/user/private_key.pemdigestdate (request-target) hostdate (request-target) hostdate (request-target) hostdate (request-target) host content-length content-type digestdate (request-target) host content-length content-type digestAlle API-Anfragen von Oracle Cloud Infrastructure (OCI) erfordern HTTP-Signaturen. Die Implementierung basiert auf dem Entwurfsstandard mit einigen Änderungen.
Authorization<TENANCY OCID>/<USER OCID>/<KEY FINGERPRINT>, z. B. ocid1.tenancy.oc1..<unique_ID>/ocid1.user.oc1..<unique_ID>/<key_fingerprint>/home/user/private_key.pemx-content-sha256date (request-target) hostdate (request-target) hostdate (request-target) hostdate (request-target) host content-length content-type x-content-sha256date (request-target) host content-length content-type x-content-sha256trueHTTPSignatures.out/artifacts/HTTPSignatures_jar/HTTPSignatures.jar erstellt.mvn package assembly:single eine JAR-Datei.target/HTTPSignatures-1.0-SNAPSHOT-jar-with-dependencies.jar erstellt.Zum Erstellen des Java-Projekts sind drei Abhängigkeiten erforderlich:
Header Names to Sign: GET: Die Header-Namen, die für GET-Anfragen eingeschlossen werden sollen (z. B. date (request-target) host).
Der Wert (request-target) ist eine spezielle Kennung, die aus der Anfragemethode sowie dem Pfad und der Abfrage der Anfrage-URI besteht (z. B. get /foo?param=value).
Header Names to Sign: HEAD: Die Header-Namen, die in HEAD-Anfragen eingeschlossen werden sollen (z. B. date (request-target) host).
Header Names to Sign: DELETE: Die Header-Namen, die in DELETE-Anfragen eingeschlossen werden sollen (z. B. date (request-target) host).
Header Names to Sign: PUT: Die Header-Namen, die in PUT-Anfragen eingeschlossen werden sollen (z. B. date (request-target) host content-length content-type digest).
Header Names to Sign: POST: Die Header-Namen, die in POST-Anfragen eingeschlossen werden sollen (z. B. date (request-target) host content-length content-type digest).
Include query parameters in Signature: Dieser boolesche Wert gibt an, ob Abfrageparameter (z. B. ?param=value) in die Signatur aufgenommen werden sollen.
Während der Entwurfsstandard festlegt, dass Abfrageparameter Teil der Kennung (request-target) sind, beziehen nicht alle Implementierungen Abfrageparameter ein.
Der Standardwert ist true.
Include the port in Signature: Einige Implementierungen nehmen den Port nicht in den Host-Header auf (z. B. localhost:8080).
Mit dieser Einstellung kann der Port aus dem Host-Header-Wert entfernt werden, wenn sie auf false gesetzt wird.
Der Standardwert ist true.
truetruetrue