
Una extensión de Burp Suite que implementa el borrador draft-ietf-httpbis-message-signatures-01 de Signing HTTP Messages.
HTTPSignatures para Burp SuiteHTTPSignatures es una extensión de Burp Suite que implementa el documento de borrador de la especificación Signing HTTP Messages draft-ietf-httpbis-message-signatures-01.
Esto permite a los usuarios de Burp Suite probar sin problemas aplicaciones que requieren HTTP Signatures.
rsa-sha256 para firmar mensajes (RSASSA-PKCS1-v1_5 [RFC8017] usando SHA-256 [RFC6234]) y SHA-256 para el encabezado de digest.Descargue el archivo de la última versión JAR y agréguelo en Burp Suite mediante la pestaña Extender / Extensions / Add.
Header Name, el keyId y el Private key file name and path. Consulte la descripción detallada a continuación.Header Name configurado.Después de que HTTPSignatures se haya configurado correctamente, la extensión de Burp Suite reemplazará el valor del encabezado HTTP configurado en el ajuste Header Name (por ejemplo, Signature) con una nueva firma para cada solicitud HTTP enviada a través de Burp Proxy, Repeater, Intruder y Scanner.

La extensión de Burp Suite debe configurarse antes de poder usarse.
La configuración de HTTPSignatures se puede encontrar en el menú de Burp después de que se haya cargado (normalmente a la derecha del menú Help).
El Header Name, el keyId y el Private key file name and path deben estar configurados correctamente para que la extensión funcione.
Los ajustes restantes pueden configurarse opcionalmente.
Nombre del encabezado: (valores de ejemplo: Authorization, Signature): El nombre del encabezado de la solicitud HTTP que incluye la firma.
El borrador de la IETF utiliza el nombre de encabezado Signature. Oracle Cloud (OCI) utiliza el nombre de encabezado Authorization.
keyId: El parámetro keyId es una cadena US-ASCII utilizada por un verificador para identificar y/u obtener la clave de verificación de la firma.
Los valores de ejemplo pueden verse como https://mastodon.example.com/users/myUser (para ActivityPub) o ocid1.tenancy.oc1.../ocid1.user.oc1.../{fingerprint} para OCI.
Nombre y ruta del archivo de clave privada: La ruta completa y el nombre del archivo que contiene la clave privada (por ejemplo, /home/${USER}/private_key.pem).
Nombre del encabezado de digest: El nombre del encabezado que contiene el digest. Debe ser x-content-sha256 (para OCI) o digest para la mayoría de las otras implementaciones.
La configuración de HTTPSignatures permite configurar varios perfiles en pestañas.
Cree una nueva pestaña haciendo clic en la pestaña ....
Puede nombrar las pestañas haciendo doble clic en una pestaña.
Para guardar una pestaña, haga clic en el botón "Save".
Para marcar una pestaña como perfil activo, haga clic en el botón "Use this profile".
La pestaña activa (perfil) se marca con fuente y borde rojos.
La sección de configuración global contiene ajustes que se aplican a todos los perfiles.
Habilitar la extensión para las siguientes herramientas de Burp Suite: La extensión puede habilitarse o deshabilitarse para las siguientes herramientas de Burp Suite:
El proxy está deshabilitado por defecto. Las otras herramientas están habilitadas por defecto. La herramienta proxy normalmente solo debería habilitarse al usar la función de interceptación. La extensión no actualizará la firma cuando esté deshabilitada.
Habilitar registros de depuración: Al marcar esta casilla se imprimirán los registros de depuración en la salida estándar. La salida se puede configurar en Burp Suite en Extender -> Extensions, y luego seleccionar la extensión Signing HTTP Messages. En la pestaña Output puede seleccionar dónde se mostrará la salida estándar. El valor por defecto es Shown in UI, donde la salida se mostrará dentro de Burp Suite.
ActivityPub utiliza HTTP Signatures para la autenticación y autorización entre servidores.
Signaturehttps://mastodon.online/users/viktor.
Puede usar curl para recuperar la clave: 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 digestTodas las solicitudes de API de Oracle Cloud Infrastructure (OCI) requieren HTTP Signatures. La implementación se basa en el borrador de la especificación con algunas modificaciones.
Authorization<TENANCY OCID>/<USER OCID>/<KEY FINGERPRINT>, por ejemplo, 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-sha256HTTPSignatures.out/artifacts/HTTPSignatures_jar/HTTPSignatures.jar.mvn package assembly:single.target/HTTPSignatures-1.0-SNAPSHOT-jar-with-dependencies.jar.Se requieren tres dependencias para compilar el proyecto Java:
Nombres de encabezados a firmar: GET: Los nombres de los encabezados a incluir para las solicitudes GET (por ejemplo, date (request-target) host).
El valor (request-target) es un identificador especial que consta del método de solicitud y de la ruta y consulta de la URI de la solicitud (por ejemplo, get /foo?param=value).
Nombres de encabezados a firmar: HEAD: Los nombres de los encabezados a incluir en las solicitudes HEAD (por ejemplo, date (request-target) host).
Nombres de encabezados a firmar: DELETE: Los nombres de los encabezados a incluir en las solicitudes DELETE (por ejemplo, date (request-target) host).
Nombres de encabezados a firmar: PUT: Los nombres de los encabezados a incluir en las solicitudes PUT (por ejemplo, date (request-target) host content-length content-type digest).
Nombres de encabezados a firmar: POST: Los nombres de los encabezados a incluir en las solicitudes POST (por ejemplo, date (request-target) host content-length content-type digest).
Incluir parámetros de consulta en la firma: Este valor booleano especifica si los parámetros de consulta (por ejemplo, ?param=value) deben incluirse en la firma.
Aunque el estándar del borrador especifica que los parámetros de consulta forman parte del identificador (request-target), no todas las implementaciones incluyen los parámetros de consulta.
El valor por defecto es true.
Incluir el puerto en la firma: Algunas implementaciones no incluyen el puerto en el encabezado Host (por ejemplo, localhost:8080).
Este ajuste permite eliminar el puerto del valor del encabezado Host si se establece en false.
El valor por defecto es true.
truetruetruetrue