简介
SAML Raider是一个用于测试SAML((Security Assertion Markup Language) 安全断言标记语言)基础设施的BurpSuite 扩展。它有两个核心功能:操作SAML消息以及管理X.509证书。
该软件作者是Roland Bischofberger和Emanuel Duss,作为他们在Hochschule für Technik Rapperswil (HSR)的学士学位论文。他们的项目合作伙伴和顾问是Compass安全有限公司(Compass Security Schweiz AG.)。
特点
该扩展分为两部分。一个SAML消息编辑器以及一个证书管理工具。
消息编辑器
SAML Raider消息编辑器的特点:
对SAML消息进行签名
对SAML Assertions断言进行签名
删除签名
编辑SAML消息
预览常规八种XSW攻击(既 XML 签名包裹攻击(XML Signature Wrapping Attacks)
执行常规八种XSW攻击
发送证书到SAMl Raider 证书管理工具(Certificate Management)
撤销对一个SAML消息的所有更改
支持SAML web浏览器单点登录配置以及web服务安全性SAML Token配置
支持POST 绑定(Binding),重定向绑定,以及SOAP绑定
证书管理
SAML Raider证书管理工具的特点:
导入X.509证书(PEM和DER格式)
导入X.509证书链
导出X.509证书(PEM格式)
删除导入的X.509证书
显示X.509证书的信息
导入私钥(DER格式中的PKCD#8,以及传统的PEM格式中的RSA)
导出私钥(传统的RSA密钥,PEM格式)
克隆X.509证书
克隆X.509证书链
创建新的X.509证书
对已经存在的X.509证书进行编辑和自签名
下载
下载链接:
https://github.com/SAMLRaider/SAMLRaider/releases/download/1.1.1/saml-raider-1.1.1.jar
安装
手动安装
启动BurpSuite,点击选项中的Extender,之后点击Add。之后选择SAML Raider的jar文件进行安装。
从 BApp Store进行安装
安装SAML Raider最简单的方式是使用BApp Store。打开BurpSuite,然后在Extender中点击BApp Store。选择SAML Raider之后点击Install按钮安装该扩展。
使用
为了更舒服的测试SAML环境,你可以在代理设置中添加拦截规则。例如添加一个新规则来检查在请求中是否包含参数名SAMLResponse。当然,你可以自行尝试更好玩的用法。
开发
构建
克隆该项目然后使用Maven将它构建成jar文件
$ mvn install
然后就可以将生成的jar文件作为BurpSu扩展使用。
在Eclipse中运行SAML Raider
要想在Eclipse中直接运行该扩展,你需要将这个项目导入到Eclipse。注意,你需要安装Eclipse 的Maven 插件 m2e。
然后将BurpSuite的jar文件放到lib目录中,并且将它添加到Eclipse项目中(Properties → Build Path → Libraries)。
在包管理器中引用库(Referenced Libraries)下打开Burp的jar文件,点击右键,选择StartBurp.class 然后选择 Run As… → Java Application来启动BurpSuite,扩展会自动加载。
调试模式
要启动调试模式,只需要将helpers包中的Flags类文件中的DEBUG标志设置为true。这样所有的输出都会写入到SAMLRaiderDebug.log日志文件中,并且在测试时会使用样例证书。
使用虚假的SAML Response进行测试
你可以使用scripts/samltest目录中的samltest脚本来将SAML Response发送给Burp。它会将SAML Response从saml_response发送到Burp(localhost:8080)并且输出经过我们的插件后修改过的响应。
许可证
该项目采用MIT License
作者
· Roland Bischofberger (GitHub: RouLee)
· Emanuel Duss (GitHub: mindfuckup)
参考资料:
安全断言标记语言的XSW攻击模型分析–《信息通信》2015年01期 http://www.cnki.com.cn/Article/CJFDTotal-HBYD201501012.htm
基于 SAML 2.0 的 WebSphere Application Server SSO 实现 http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1111_luol_sso/1111_luol_sso.html