1.shiro权限绕过漏洞
1.1.漏洞成因分析
Apahce Shiro 由于处理身份验证请求时出错,存在“权限绕过漏洞”(漏洞编号:CVE-2020-11989),远程攻击者可以发送特制的HTTP请求,绕过身份验证过程,并获得对应用程序的未授权访问。
1.2.解决方案
1.电脑端:
(1)将jdk由1.7升级至1.8,因为shiro 1.7.1所需的运行环境是1.8。
(2)删除shiro开头的jar包,集成单点登录的shiro-cas 不用删
(3)将shiro版本号升级至1.7.1,加入以下jar包。
附件:
2.可能遇到的问题和解决方法:登录界面打不开,浏览器显示重复重定向。
(1)修改spring-context-shiro.xml(不同系统文件名不同)
loginUrl的属性值,原来:
改后:
1.3.验证方法
漏洞位置主要出现在org.apache.shiro.web.util.WebUtils#getPathWithinApplication中调用的getRequestUri方法。该漏洞可以用以下方法复现,首先在spring-context-shiro.xml中,配置 /hello/* = authc;
注意:ant风格的路径仅出现一个*时才能成功,而**无法绕过。
用Burpsuite复现,如果请求 /hello/aaa 那么将会被禁止。
这里可以通过url双编码的方式或地址栏加;/的方式来绕过。