
Расширение Burp Suite, реализующее черновик спецификации Signing HTTP Messages (draft-ietf-httpbis-message-signatures-01).
HTTPSignatures для Burp SuiteHTTPSignatures — это расширение Burp Suite, реализующее черновой документ спецификации Signing HTTP Messages draft-ietf-httpbis-message-signatures-01.
Это позволяет пользователям Burp Suite беспрепятственно тестировать приложения, требующие HTTP-подписей (HTTP Signatures).
rsa-sha256 для подписи сообщений (RSASSA-PKCS1-v1_5 [RFC8017] с использованием SHA-256 [RFC6234]) и SHA-256 для заголовка digest.Скачайте последний JAR-релиз и добавьте его в Burp Suite через вкладку Extender / Extensions / Add.
Header Name, keyId и Private key file name and path. Подробное описание приведено ниже.Header Name.После правильной настройки HTTPSignatures расширение Burp Suite будет заменять значение HTTP-заголовка, указанное в настройке Header Name (например, Signature), новой подписью для каждого HTTP-запроса, отправляемого через Burp Proxy, Repeater, Intruder и Scanner.

Расширение 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: имя заголовка, содержащего digest. Это должно быть либо x-content-sha256 (для OCI), либо digest для большинства других реализаций.
Header Names to Sign: GET: имена заголовков, включаемых в GET-запросы (например, date (request-target) host).
Значение (request-target) — это специальный идентификатор, состоящий из метода запроса, пути и query-части 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: это логическое значение определяет, должны ли query-параметры (например, ?param=value) включаться в подпись.
Хотя черновой стандарт определяет, что query-параметры являются частью идентификатора (request-target), не все реализации включают query-параметры.
Значение по умолчанию: true.
Include the port in Signature: некоторые реализации не включают порт в заголовок host (например, localhost:8080).
Эта настройка позволяет удалить порт из значения заголовка host, если установлено значение false.
Значение по умолчанию: true.
Конфигурация HTTPSignatures позволяет настраивать несколько профилей на вкладках.
Создайте новую вкладку, нажав на вкладку ....
Вы можете переименовывать вкладки двойным щелчком по вкладке.
Чтобы сохранить вкладку, нажмите кнопку "Save".
Чтобы пометить вкладку как активный профиль, нажмите кнопку "Use this profile".
Активная вкладка (профиль) помечена красным шрифтом и границей.
Раздел глобальной конфигурации содержит настройки, которые применяются ко всем профилям.
Enable the extension for the following Burp Suite tools: расширение можно включить или отключить для следующих инструментов Burp Suite:
Прокси по умолчанию отключен. Остальные инструменты включены по умолчанию. Инструмент Proxy обычно следует включать только при использовании функции перехвата (intercept). Расширение не будет обновлять подпись, когда оно отключено.
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Все API-запросы Oracle Cloud Infrastructure (OCI) требуют 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 в IntelliJ IDEA.out/artifacts/HTTPSignatures_jar/HTTPSignatures.jar.mvn package assembly:single.target/HTTPSignatures-1.0-SNAPSHOT-jar-with-dependencies.jar.Для сборки Java-проекта требуются три зависимости: