技术社区
安全培训
技术社群
积分商城
先知平台
漏洞库
历史记录
清空历史记录
相关的动态
相关的文章
相关的用户
相关的圈子
相关的话题
注册
登录
apache click反序列化漏洞挖掘
用户9528
漏洞分析
111浏览 · 2025-03-26 04:19
返回文档
依赖环境
org.apache.click:click-nodeps:2.3.0
javax.servlet:javax.servlet-api:3.1.0
jdk8u201
使用工具
tabby:2.0
tabby-vul-finder.jar
neo4j
tabby idea插件(个人觉得挺好用的,直接通过图跳转到对应函数,节省了不少时间,具体使用参考:
https://www.yuque.com/wh1t3p1g/tp0c1t)
思路
查看现有链子
直接引用ysoserial中的反序列链:
使用tabby内置的sink规则进行查询,查看一次调用到sink点invoke的链路,
图片加载失败
从这条链路开始往下寻找,首先明确当前的条件:
一是起点方法为readObject
二是若方法实现了接口,则需要显式添加alias关系,否则链路会断掉
三是找到链路的优先级要高于判断起点方法是否为readObject方法
实践
最终写出如下查询:
为了有更多的结果,将limit设置成100
图片加载失败
这里不方便观看,从idea中下载插件显示:
图片加载失败
这里可以看的click1链已经被查询了:(标注一下)
图片加载失败
这里解释一下查询语句,观察整个调用链,在siftDownUsingComparator中,是通过PriorityQueue的成员变量this.comparator调用的,所以这里直接call是无法继续链接的,需要alias关系,因此在整个调用链中需要添加,其他的直接call就行了,需要设定一个readObject方法限制
图片加载失败
根据上面的调用关系构造poc:
其他尝试
再分析一下刚才图中另外几个出发点:
javax.management.MBeanInfo(javax.management.MBeanFeatureInfo)
看这个调用方向:
图片加载失败
javax.management.MBeanInfo#readObject
图片加载失败
到javax.management.ImmutableDescriptor#ImmutableDescriptor(java.lang.String[], java.lang.Object[])
图片加载失败
到javax.management.ImmutableDescriptor#makeMap(java.lang.String[], java.lang.Object[])
图片加载失败
这里fieldNames和fieldValues是可控的,在MBeanInfo构造函数中将ImmutableDescriptor实例传入即可,ImmutableDescriptor实例通过fieldNames和fieldValues构造
到java.util.TreeMap#put
图片加载失败
到java.util.TreeMap#compare
图片加载失败
在原来的利用链中,comparator是我们构造传入的org.apache.click.control.Column$ColumnComparator,这样就能调用恶意的方法,但是这里TreeMap是通过
实例化的,无法修改它的值,即不能设置为ColumnComparator,无法利用,且org.apache.click.control.Column$ColumnComparator.compare()需要一个对象,而不是String
com.sun.jndi.ldap.LdapName
重点看这里:
图片加载失败
com.sun.jndi.ldap.LdapName.Rdn#add
图片加载失败
到com.sun.jndi.ldap.LdapName.TypeAndValue#compareTo
图片加载失败
到java.lang.String#compareToIgnoreCase
图片加载失败
显然也是无法利用
java.net.URLPermission
直接看java.net.URLPermission#readObject
图片加载失败
到java.net.URLPermission#init
图片加载失败
参数不可控,无法利用
总结
以上内容只能是抛砖引玉,反序列化链挖掘还有很多值得我们去探究
0
人收藏
0
人喜欢
转载
分享
0
条评论
某人
表情
可输入
255
字
评论
没有评论
发布投稿
热门文章
1
2025ISCC练武区域赛和决赛pwn以及擂台pwn合集
2
通过Elastic EDR看smbexec并进行二次开发Bypass
3
php代码审计篇 - 信呼OA 前台注入分析一
4
D3CTF-d3kshrm(预期&非预期)题解
5
Tomcat解析XML引入的新颖webshell构造方式
近期热点
一周
月份
季度
1
2025ISCC练武区域赛和决赛pwn以及擂台pwn合集
2
通过Elastic EDR看smbexec并进行二次开发Bypass
3
php代码审计篇 - 信呼OA 前台注入分析一
4
D3CTF-d3kshrm(预期&非预期)题解
5
Tomcat解析XML引入的新颖webshell构造方式
暂无相关信息
暂无相关信息
优秀作者
1
T0daySeeker
贡献值:28700
2
一天
贡献值:24800
3
1674701160110592
贡献值:18000
4
1174735059082055
贡献值:15000
5
Yale
贡献值:14000
6
LeeH
贡献值:10000
7
MeteorKai
贡献值:9000
8
姓*户
贡献值:8600
9
Arcueid
贡献值:8000
10
熊猫正正
贡献值:8000
目录
转载
标题
作者:
你好
http://www.a.com/asdsabdas
文章
转载
自
复制到剪贴板
没有评论