0x00 前言
相对之前的绕过来说,非常的鸡肋,甚至在真实环境能见到的可能性不大
影响版本: shiro <1.8.0
其他文章:
0x01 漏洞复现
/hello/cs/index
/hello/cs/index/
0x02 漏洞分析
前提条件:
在shiro 1.7.1版本中,getChain方法发生了改变:requestURINoTrailingSlash为删除了\
的uri
首先是用requestURI进行对比,因为是
/hello/cs/index/
,所以没有匹配到,于是就到下图所示的位置:
然后重新在LinkedHashMap里进行对比
找到后继续校验权限
0x03 漏洞修复
在1.8.0版本进行修复,输入数据改成了去除\
之后的内容
补充知识
shiro
Shiro(安全性质量)是一个用于身份验证,授权和加密的Java安全框架。它提供了一个易于使用的API,使应用程序能够实现安全性功能,例如会话管理,单点登录(SSO)和密码哈希。Shiro的设计目标是简单和易于使用,并提供一些可选的插件来与其他框架和技术进行集成。Shiro的灵活性和可扩展性使其成为许多Java应用程序的首选安全解决方案之一。
shiro优势
Shiro是一个Java安全框架,具有以下优势:
-
集成方便:Shiro可以很容易地集成到现有的应用程序中,使用简单。
-
全面的认证、授权机制:Shiro支持多种认证和授权机制,包括基于表单的认证、CAS单点登录、OAuth、LDAP等,可以满足各种应用场景的需求。
-
高度可定制:Shiro支持自定义Realm、Session、Cache等,可以根据具体需求进行定制。
-
支持多种协议:Shiro支持多种Web协议,包括Servlet、Websocket、JavaFX等,可以实现多种应用场景的需求。
-
安全性高:Shiro提供了安全性高的加密算法和身份认证机制,可以保障应用程序数据的安全。
-
活跃的社区支持:Shiro有一个活跃的社区,提供了大量的文档和示例代码,方便用户学习和使用。
shiro 1.8.0特性
Shiro 1.8.0是Apache Shiro的一个版本,本次更新主要增加了以下功能:
- 支持Java 11和12版本。
- 增强了对JWT(JSON Web Token)的支持。
- 对Web应用的集成更加方便。
- 增加了对OAuth2的支持。
- 扩展了密码散列功能,支持更多的加密算法。
- 支持跨域资源共享(CORS)。
以上是Shiro 1.8.0版本的一些重要特性,此版本还修复了一些之前版本的bug,并提高了性能和稳定性。
shiro 1.8.0安全性
Shiro 1.8.0是一个Java安全框架,它提供了一套API和工具来处理身份验证、授权、密码管理和会话管理等安全问题。在Shiro 1.8.0中,提高了许多安全性方面的改进,其中包括:
-
加强了密码策略:Shiro 1.8.0提供了更强的密码策略,可以根据需求进行配置,包括密码长度、复杂度和过期时间等。这有助于提高应用程序的安全性,减少密码泄露的风险。
-
强化了会话管理:Shiro 1.8.0提供了更安全的会话管理机制,包括会话持久化和会话超时等。这有助于保护用户的隐私和数据,防止会话劫持和会话固定攻击等安全威胁。
-
加强了授权机制:Shiro 1.8.0提供了更强大的授权机制,可以在不同的角色和权限之间进行灵活的组合和控制,从而提高了应用程序的安全性和可扩展性。
-
集成了更多安全功能:Shiro 1.8.0集成了许多安全功能,如注解、加密算法和二次认证等,可以有效地防止安全漏洞和攻击。
Shiro 1.8.0提供了良好的安全性,并且随着版本的升级,安全性将会不断得到加强和优化。
burpsuite
Burp Suite是一款用于Web应用程序渗透测试的集成平台。它包括多个工具和模块,可以用于整个渗透测试流程中的各个阶段,包括信息收集、漏洞扫描、攻击和漏洞利用、会话劫持、数据截获和篡改、安全性评估和报告等。
Burp Suite的主要功能包括:
1.代理服务器:可以截获浏览器和服务器之间的所有HTTP请求和响应,并允许用户拦截和修改这些请求和响应,以便测试和攻击Web应用程序。
2.漏洞扫描器:自动扫描Web应用程序并发现漏洞,例如SQL注入、XSS、CSRF等。
3.会话劫持:模拟并劫持Web应用程序的会话,允许用户模拟对受害者帐户的登录和操作。
4.数据截获:截获应用程序中传输的数据,例如登录凭据、会话令牌等。
5.可扩展性:Burp Suite可以与其他工具和脚本集成,以便进行自定义攻击和测试。
Burp Suite是一款功能强大且易于使用的Web应用程序渗透测试平台,适用于安全测试人员、渗透测试人员、开发人员和安全研究人员。