SuperAPI AI 工具集

attacking-saml

通用与其它

查看项目

更新于 10-16 02:30

技能介绍

用途:针对采用 SAML 单点登录的系统,在获得授权的前提下测试 XML 签名校验缺陷,包括签名包装、签名剥离、断言篡改、重放与身份伪造。

主要能力: 签名包装 XSW:保持签名有效,同时把伪造断言放到验证器与业务逻辑读取不一致的位置,覆盖 XSW1-XSW8 八种变体,需逐个尝试。 签名剥离与未签名断言:移除或清空 SignatureValue、DigestValue,或仅对 Response 而非 Assertion 签名,测试 SP 是否校验签名。 断言篡改:修改 NameID、Role/Group/memberOf、email 等属性;检查 AudienceRestriction、NotOnOrAfter/NotBefore、InResponseTo 是否被强制执行。 NameID 注释注入:如 admin<!---->@evil.com,利用规范化与文本节点取值差异实现提权。 解析器 XXE:当 ACS 端点将外部实体未禁用时,可作为 XXE 注入点。 证书伪造重签:若 SP 未固定 IdP 证书,可用自签证书重新签名。 重放与跨租户:检查 Recipient、Destination 校验与 IdP 发起登录的反重放措施。 Golden SAML:持有 IdP 令牌签名私钥时伪造任意断言(取钥属其他技能范畴)。

使用方式:先识别 SAMLRequest/SAMLResponse 参数与 /saml/acs 等断言消费端点;HTTP-Redirect 绑定需 base64 解码后再原始 DEFLATE(窗口位 -15),HTTP-POST 绑定为纯 base64。可用 SAML Raider(Burp 扩展)拦截与一键构造 XSW,xmlsec1 验证签名覆盖范围,命令如: openssl req -x509 -newkey rsa:2048 -keyout evil.key -out evil.crt -days 30 -nodes -subj "/CN=idp" xmlsec1 --sign --privkey-pem evil.key,evil.crt --id-attr:ID Assertion tampered.xml > forged.xml xmlsec1 --verify --pubkey-cert-pem idp.crt --id-attr:ID Assertion response.xml

适用场景:Okta、ADFS、PingFederate、Azure/Entra、Shibboleth、SimpleSAMLphp、Keycloak 等联合身份环境中,拥有低权限联邦账号并希望越权。

限制:仅限授权测试;不适用于 OAuth 2.0/OpenID Connect、JWT(见 attacking-oauth-oidc、attacking-jwt);不含获取签名密钥的主机/租户入侵路径;能命中哪个 XSW 变体取决于 SP 的 XML 库,无法预判,需逐个尝试;具体利用效果视目标实现而定。资料未提供收费、价格与平台信息。