API, Bug Bounty, Bug Hunting, XML Signature Removal

#34 Bug Bounty v.2 — XML Signature Removal

Здравствуйте, дорогие друзья.

Когда поставщик услуг получает подтверждение SAML, конечная точка должна проверить, что информация не была подделана или изменена, путем проверки подписи XML. В некоторых системах можно обойти эту проверку, удалив значение подписи или весь тег подписи из утверждения или сообщения.

xml

Одна из первых вещей, которую я пробую, — это сделать данные “SignatureValue” пустыми, чтобы они выглядели как “<ds:SignatureValue></SignatureValue>”, в определенных ситуациях этого достаточно, чтобы полностью нарушить проверку подписи, что позволяет изменять информацию в утверждении. Другая атака заключается в полном удалении тегов подписи из запроса. Если вы используете плагин SAML Raider в Burp, вы можете сделать это, нажав кнопку “ Remove SIgnatures», как показано ниже:

 Если вы используете плагин SAML Raider в Burp, вы можете сделать это, нажав кнопку “ Remove SIgnatures"

Примечание. Вы также можете удалить подпись вручную, если не хотите использовать плагин. Конечным результатом будет сообщение или тег утверждения без подписи.

сообщение или тег утверждения без подписи

Обратите внимание, что на приведенном выше рисунке отсутствует раздел «подпись». Обычный поставщик услуг отклонил бы это сообщение, но в некоторых случаях оно все равно будет принято, и в этом случае злоумышленник может изменить информацию в тегах “Тема” без проверки информации. Это позволило бы злоумышленнику предоставить адрес электронной почты другого пользователя, предоставив ему полный доступ к своей учетной записи.

На этом все. Всем хорошего дня!

Цикл статей по Bug Bounty.