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

Ethan医生8个月前代码审计250

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原生开发篇&文件安全&上传监控&功能定位&关键搜索&1day挖掘

PHP原生开发篇&文件安全&上传监控&功能定位&关键搜索&1day挖掘

快速分析脆弱:1、看文件路径2、看代码里面的变量(可控)3、看变量前后的过滤 文件安全挖掘点:1、脚本文件名2、应用功能点3、操作关键字文件上传,文件下载(读取),文件包含,文件删除等&nb...

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

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

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

JavaEE开发篇&FastJson反序列化&利用链跟踪&动态调试&autoType绕过

JavaEE开发篇&FastJson反序列化&利用链跟踪&动态调试&autoType绕过

#FastJson反序列化链知识点1、为什么触发方法会存在反序列化?2、利用链为什么要那样写才能触发?3、高版本中有哪些防御手段又怎么绕过的? #FastJson反序列化链分析基础参考:ht...

ASP.NET开发篇&预编译架构&DLL反编译&用友畅捷通T&文件上传挖掘

#DLL反编译工具:dnSpy = ILSpy => Reflectorhttps://github.com/dnSpy/dnSpyhttps://github.com/icsharpcode/...

SAST项目篇&CodeQL审计&SCA插件&语言应用&开源商业&自动工具

SAST项目篇&CodeQL审计&SCA插件&语言应用&开源商业&自动工具

#SAST-IDEA插件SCA-依赖组件漏洞-JAVA1、IDEA插件:(专业针对项目依赖组件审计插件)-CodeArts Checkhttps://blog.csdn.net/hwxiaozhi/a...

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

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

发表评论    

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