【问题标题】:SAML Assertion tampering ping federateSAML 断言篡改 ping 联盟
【发布时间】:2015-02-26 10:41:34
【问题描述】:

SAML 断言在 IDP(PF) 处生成。它在 SP(PF) 处被消耗。 saml 断言是否可能被篡改?如果是这样,如何测试它?我正在尝试跟踪获取和发布请求。

当我将生成的 SAML 响应发布到 https://machine_name:port_no/sp/ACS.saml2 时,我收到 404 错误。我知道我们无法点击 url。当我提供目标资源 url 时,资源页面被打开。但我在服务器日志中找不到响应。

我想发布生成的响应并稍作修改并测试它是否引发任何错误。不应允许入侵者获取资源。虽然我修改了响应,但我可以点击 url 并访问页面。我为此目的使用 POSTMAN chrome 扩展。

注意:我正在从无代理集成工具包示例应用程序中提取 saml 响应。所以目标 url 是 https://machine_name:port_no/AgentlessIntegrationKitSampleSP

谢谢, 阿斯维尼J

【问题讨论】:

  • 您说您收到 404。您确定将其发送到正确的 URL。监控流量并确保您使用的是正确的 URL
  • 是的,网址是正确的。它给了我以下异常:17:41:46,655 WARN [SoapEndpointUtility] Writing SOAP fault response Invalid Request {schemas.xmlsoap.org/soap/envelope}Client
  • 您是否更改了请求中的任何内容?
  • 没有。虽然我没有更改响应中的任何内容,但它会引发服务器错误
  • 我能够篡改断言。但我不知道如何将断言发布到 url。

标签: saml-2.0 pingfederate


【解决方案1】:

如果你想在浏览器中篡改 SAML 数据,你应该使用 Firefox 的 Tamper Data 扩展。它将允许您逐步完成每个事务并有选择地修改数据。

但是,您无法成功篡改 SAML 响应,因为它是经过数字签名(可选加密)的消息。对签名数据的任何篡改都会使消息无效,并且 PingFederate 将不允许消息通过。这是根据 PF 严格执行的 SAML XMLDig 规范强制执行的。

PingFederate (SP) 和 QuickStartApp (SP) 之间交换的信息不是 SAML——它是一个“一次性使用”的参考令牌,它指的是存储在 PingFederate 运行时内存中的信息。如果修改此值,PF 将抛出错误,因为它不会引用任何已知数据。

【讨论】:

  • 感谢您的输入 Ian:) PingFederate (SP) 和 QuickStartApp (SP) 之间交换的信息不是 SAML,因为我们在这里使用参考适配器,对吗?如果我使用 http 基本适配器或开放令牌适配器,引用令牌将不会从 PF(SP) 发送到应用程序 (SP)。对吗?
  • 我尝试将 saml 令牌发布到 Assertion Consume Service Url。但我做不到。 machine_name:port_no/sp/ACS.saml2。不要到快应用网址。
  • 请尽量将话题保持在一个主题上。您是对的 - PF (SP) 和 Quickstart App (SP) 之间的信息不是 SAML,因为您正在使用 SP 参考适配器进行“最后一英里集成”。如果您使用了 SP OpenToken 适配器,那么它将是特定于适配器的不同令牌类型。这仅与您的应用程序相关 - IDP 不知道(或关心)您如何集成您的应用程序。没有 HTTP 基本适配器 (SP),所以这不是一个选项。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-03
  • 2018-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多