HTTPSignatures Burp Suite 扩展HTTPSignatures 是一个 Burp Suite 扩展,实现了 Signing HTTP Messages draft-ietf-httpbis-message-signatures-01 规范草案。
这使得 Burp Suite 用户能够无缝测试需要 HTTP Signatures 的应用程序。
rsa-sha256 算法对消息进行签名(RSASSA-PKCS1-v1_5 [RFC8017],使用 SHA-256 [RFC6234]),并支持使用 SHA-256 生成摘要头。下载最新的 JAR 发行版文件,然后通过 Extender 选项卡 / Extensions / Add 将其添加到 Burp Suite 中。
Header Name、keyId 和 Private key file name and path。详见下文说明。Header Name 的请求创建新的签名。在 HTTPSignatures 正确配置后,该 Burp Suite 扩展会将 Header Name 设置中配置的 HTTP 头值(例如 Signature)替换为新的签名,适用于通过 Burp Proxy、Repeater、Intruder 和 Scanner 发送的每个 HTTP 请求。

Burp Suite 扩展必须先进行配置才能使用。
HTTPSignatures 的配置可以在加载后于 Burp 菜单中找到(通常在 Help 菜单的右侧)。
必须正确配置 Header Name、keyId 和 Private key file name and path,扩展才能正常工作。
其余设置可根据需要调整。
Header Name:(示例值:Authorization、Signature):包含签名的 HTTP 请求头的名称。
IETF 草案使用 Signature 作为头名称。Oracle Cloud (OCI) 使用 Authorization 作为头名称。
keyId:keyId 参数是一个 US-ASCII 字符串,验证方使用它来识别和/或获取签名的验证密钥。
示例值可以类似于 https://mastodon.example.com/users/myUser(用于 ActivityPub)或 ocid1.tenancy.oc1.../ocid1.user.oc1.../{fingerprint}(用于 OCI)。
Private key file name and path:包含私钥的完整路径和文件名(例如 /home/${USER}/private_key.pem)。
Digest Header Name:包含摘要的头的名称。应为 x-content-sha256(用于 OCI)或大多数其他实现使用的 digest。
Header Names to Sign: GET:GET 请求中要包含的头名称(例如 date (request-target) host)。
(request-target) 值是一个特殊标识符,由请求方法以及请求 URI 的路径和查询组成(例如 get /foo?param=value)。
Header Names to Sign: HEAD:HEAD 请求中要包含的头名称(例如 date (request-target) host)。
Header Names to Sign: DELETE:DELETE 请求中要包含的头名称(例如 date (request-target) host)。
Header Names to Sign: PUT:PUT 请求中要包含的头名称(例如 date (request-target) host content-length content-type digest)。
Header Names to Sign: POST:POST 请求中要包含的头名称(例如 date (request-target) host content-length content-type digest)。
Include query parameters in Signature:该布尔值指定是否应将查询参数(例如 ?param=value)包含在签名中。
虽然草案标准规定查询参数是 (request-target) 标识符的一部分,但并非所有实现都包含查询参数。
默认值为 true。
Include the port in Signature:某些实现不在 host 头中包含端口(例如 localhost:8080)。
如果此设置设为 false,则允许从 host 头值中移除端口。
默认值为 true。
HTTPSignatures 配置允许在选项卡中配置多个配置文件(profiles)。
点击 ... 选项卡可创建新选项卡。
双击选项卡可为其命名。
点击 "Save" 按钮保存选项卡。
要将某个选项卡标记为活动配置文件,请点击 "Use this profile" 按钮。
活动选项卡(配置文件)以红色字体和边框标记。
全局配置部分包含适用于所有配置文件的设置。
Enable the extension for the following Burp Suite tools:可为以下 Burp Suite 工具启用或禁用扩展:
Proxy 默认禁用。其他工具默认启用。Proxy 工具通常只应在使用拦截功能时启用。当扩展被禁用时,它不会更新签名。
Enable Debug Logs:启用此复选框会将调试日志打印到标准输出。 输出可以在 Burp Suite 的 Extender -> Extensions 中配置,然后选择 Signing HTTP Messages 扩展。 在 Output 选项卡中,您可以选择标准输出的显示位置。 默认是 Shown in UI,即输出将显示在 Burp Suite 内部。
ActivityPub 使用 HTTP Signatures 进行服务器到服务器的认证和授权。
Signaturehttps://mastodon.online/users/viktor。
您可以使用 curl 检索密钥: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 digesttruetrue所有 Oracle Cloud Infrastructure (OCI) API 请求都要求使用 HTTP Signatures。 该实现基于草案规范并做了一些修改。
Authorization<TENANCY OCID>/<USER OCID>/<KEY FINGERPRINT>,例如 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-sha256truetrueHTTPSignatures 文件夹。out/artifacts/HTTPSignatures_jar/HTTPSignatures.jar。mvn package assembly:single 编译项目并创建 JAR 文件。target/HTTPSignatures-1.0-SNAPSHOT-jar-with-dependencies.jar。构建该 Java 项目需要三个依赖项: