Logo WEB

CVE-2010-3863

描述#

Apache Shiro 1.1.0之前的版本和JSecurity 0.9.x在将URI路径与shiro.ini文件中的条目进行比较之前没有规范化URI路径,这使得远程攻击者能够通过特制的请求绕过预期的访问限制,如/./ account/index.jsp URI。

影响版本#

Apache Shiro ≤ 1.0.0

复现过程#

  1. 启动环境:
文章图片

2. 访问/admin

文章图片

3.改Path,加入/.

文章图片

成功登录

原理分析#

1.构造POC

文章图片

2.断点调试

文章图片

直接使用getPathWithinApplication()获得URL,没有对URL进行路径标准化,导致出现了/./admin这种URL String

文章图片

接着就会被 pathPattern=/**配置

文章图片

根据配置文件知,/**是不需要进行登录验证的,而/./admin等于/admin,但却因为被错误配置而绕过了登录验证,造成路径越权访问。

官方修复方案#

增加路径标准化方法

文章图片

客户修复方案#

更新Apache Shiro ≥ 1.1.0。