shiro与log4j2
本文最后更新于 2025年9月11日 晚上
shiro
shiro介绍
Shiro是Apache的一个强大且易用的Java安全框架,用于执行身份验证、授权、密码和会话管理。使用 Shiro 易于理解的 API,可以快速轻松地对应用程序进行保护
CVE-2016-4437
原理:在shiro框架中,执行身份验证时有一个记住密码的功能,勾选后用户请求包的cookie里会多出一段数据,里面包含加密后的用户信息,加密算法是:序列化-AES-base64,勾选后下次可直接登录,那么解密逻辑就是base64-AES-反序列化
例子
这是正常数据包
这是开了remember的相应包
用工具可以直接找到key
log4j2
log4j2
是java的日志记录工具,用于记录程序输入输出日志信息
JNDI
全称Java Naming and Directory Interface(命名和目录接口),允许从指定的远程服务器获取并加载对象,JNDI相当于一个用于映射的字典,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。JNDI注入攻击时常用的就是通过RMI和LDAP两种服务
漏洞利用:CVE-2021-44228
log4j2框架下的lookup查询服务提供了{}字段功能,传进去的值会被解析,攻击者可以利用这个指向JNDI服务从恶意站点获取恶意.class对象,造成远程代码执行