shiro与log4j2

本文最后更新于 2025年9月11日 晚上

shiro

shiro介绍

Shiro是Apache的一个强大且易用的Java安全框架,用于执行身份验证、授权、密码和会话管理。使用 Shiro 易于理解的 API,可以快速轻松地对应用程序进行保护

CVE-2016-4437

原理:在shiro框架中,执行身份验证时有一个记住密码的功能,勾选后用户请求包的cookie里会多出一段数据,里面包含加密后的用户信息,加密算法是:序列化-AES-base64,勾选后下次可直接登录,那么解密逻辑就是base64-AES-反序列化

例子

这是正常数据包

这是开了remember的相应包

image-20250520161521715

用工具可以直接找到key

log4j2

log4j2

是java的日志记录工具,用于记录程序输入输出日志信息

JNDI

全称Java Naming and Directory Interface(命名和目录接口),允许从指定的远程服务器获取并加载对象,JNDI相当于一个用于映射的字典,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。JNDI注入攻击时常用的就是通过RMI和LDAP两种服务

漏洞利用:CVE-2021-44228

log4j2框架下的lookup查询服务提供了{}字段功能,传进去的值会被解析,攻击者可以利用这个指向JNDI服务从恶意站点获取恶意.class对象,造成远程代码执行


shiro与log4j2
http://example.com/2025/05/20/shiro/
作者
清风
发布于
2025年5月20日
许可协议