0x00 前言
同CVE-2020-1957,补充一下笔记,在CVE-2020-1957的基础上进行了绕过。
影响版本:Apache Shiro < 1.6.0
环境搭建参考:shiro CVE-2020-1957
0x01 漏洞复现
CVE-2020-13933中使用%3b绕过了shiro /*的检测方式,同样是利用了spring和shiro的解析差异
0x02 漏洞分析
1.shiro
在这里的url处理中,会将%3b解析成;
,但是如果是明文的话,会直接进行截断。
经过解码之后的url,如下图所示:
在decodeAndCleanUriString中将;进行切分
得到url为:
去除\
那么最终进行权限校验的url为:/hello,如此即可绕过shiro的权限防护
2.Spring
在Spring中会将%3ba作为一整个参数进行解析,硬要说的话就是可以通过%3b绕过removeSemicolonContentInternal的检测
0x03 漏洞修复
新增类,对特殊字符进行过滤
默认多加了/**,避免匹配不到的问题
修复后测试
补充知识
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应用程序渗透测试平台,适用于安全测试人员、渗透测试人员、开发人员和安全研究人员。