JavaEE开发篇&Shiro反序列化&DNS利用链&CC利用链&AES动态调试

Ethan医生5天前代码审计14

Shiro框架:Apache Shiro是一个强大且易用的Java安全框架,提供认证、授权、加密和会话管理等功能。

#Shiro反序列化链知识点:

1Shiro用途和验证逻辑

2Shiro反序列化怎么造成

3Shiro反序列化漏洞利用

 

#Shiro反序列化链分析

当获取用户请求时,大致的关键处理过程如下:

· 获取Cookie中rememberMe的值

· 对rememberMe进行Base64解码

· 使用AES进行解密

· 对解密的值进行反序列化

由于AES加密的Key是硬编码的默认Key,因此攻击者可通过使用默认的Key对恶意构造的序列化数据进行加密,当CookieRememberMeManager对恶意的rememberMe进行以上过程处理时,最终会对恶意数据进行反序列化,从而导致反序列化漏洞。

 

#Shiro 550利用链分析

#原生序列化

#分析Shiro序列化

#利用Shiro序列化

1、获取AES加密属性

成功登录rememberMeSuccessfulLogin断点(动态调试)

AES/CBC/PKCS5Padding

kPH+bIxk5D2deZiIxcaaaA==

DEFAULT_CIPHER_KEY_BYTES = Base64.decode("kPH+bIxk5D2deZiIxcaaaA==");

key:[-112, -15, -2, 108, -116, 100, -28, 61, -99, 121, -104, -120, -59, -58, -102, 104]

iv:[6, -28, 13, 52, -37, -71, 7, -11, 112, 30, -61, 7, -19, 87, -55, -99]

2、将Payload进行加密(AES+BASE64)

-借助URLDNS链(后续分析这个链的编写)

-借助CC链(后续分析这个链的编写)

问题1:为什么不能用fastjson里面的jdbc那个链?

shiro使用的是原生反序列化操作

readObject, writeObject , ObjectInputStram , ObjectOutputStream

然后fastjason是使用自定义的方法反序列化

要满足有使用com.sun.rowset.JdbcRowSetOmple方法

set , get方法

问题2:对比利用工具中出现的多个链是什么情况导致?

java -jar ysoserial.jar URLDNS "http://" > urldns.txt

3、将rememberMe数据发包


相关文章

PHP框架开发篇&ThinkPHP&版本缺陷&不安全写法&路由访问&利用链

#框架审计总结方向:1、版本不安全写法怎么检测-本地复现版本写法对比-参考官方开发手册写法2、版本自身的漏洞怎么检测-平常多关注此类框架漏洞-配合黑盒工具检测找入口https://github.com...

代码审计-JavaEE开发篇&第三方组件&依赖库挖掘&FastJson&Shrio&Log4j&H2DB

#JavaEE审计-第三方组件安全1、找存在漏洞的第三方组件(Package Checker插件)2、找组件漏洞利用入口条件(根据网上已知漏洞复现条件)3、找可控地方进行测试检测(根据网上已知漏洞利用...

PHP框架开发篇&Yii反序列化&POP利用链&某达OA&某商城&CVE分析

参考资料:CVE-2020-15148漏洞分析https://www.extrader.top/posts/c79847eehttps://www.anquanke.com/post/id/25442...

PHP模型开发篇&MVC层&RCE执行&文件对比法&1day分析&0day验证

PHP模型开发篇&MVC层&RCE执行&文件对比法&1day分析&0day验证

-MVC流程:1、Controller截获用户发出的请求;2、Controller调用Model完成状态的读写操作;3、Controller把数据传递给View;4、View渲染最终结果并呈献给用户。...

IAST&SAST项目篇&CodeQL拓展&火线洞态&Agent部署&DevSecOps

IAST&SAST项目篇&CodeQL拓展&火线洞态&Agent部署&DevSecOps

#SAST-CodeQL&CodeQLpy-JAVA测评:若依系统&Tmall商城在官方规则引擎下升级Java检测https://github.com/webraybtl/codeQl...

JavaEE开发篇&原生反序列化&CB链&CC链&Ysoserial链&字节码加载

JavaEE开发篇&原生反序列化&CB链&CC链&Ysoserial链&字节码加载

#补充JS逆向浏览器插件Hook JS算法脚本1、安装Tampermonkey(扶墙谷歌商店安装)2、添加和启用JS插件3、测试登录看控制台脚本地址:https://github.com/Captai...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。