1. 描述xxl-job执行器的默认accesstoken机制 XXL-JOB是一个分布式任务调度平台,分为调度中心和执行器两部分。在XXL-JOB中,accessToken用于调度中心与执行器之间的调度通讯认证。从XXL-JOB的2.3.1版本开始,accessToken在默认配置中设置了一个默认值(如default_token),而不是随机生成。这个默认值位于执行器和调度中心...
该漏洞是由于XXL-JOB在默认配置下,用于调度通信的accessToken不是随机生成的,而是使用application.properties配置文件中的默认值,如果用户没有修改该默认值,攻击者可利用此绕过认证调用 executor,执行任意代码,导致远程代码执行。 当然仅仅是没有修改默认accessToken并不能形成RCE的条件,远程访问需要host加port,默认是9999(...
accessToken的默认值是default_token,在调度中心的配置文件是xxl-job-admin/src/main/resources/application.properties,配置项是xxl.job.accessToken=default_token。 在执行器的配置文件是xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties,配置项是xxl.job.accessTo...
默认情况下是非空的,也就是xxl.job.accessToken=default_token,所以就是利用点在这里。不知道作者这么会给了个默认值,翻看之前的版本accessToken都为空,直到2.3.1后才出现默认值。 关于accessToken官方文档也给出了样例:https://www.xuxueli.com/xxl-job/#%E5%85%AD%E3%80%81%E8%B0%83%E5%BA%A6%E4%B8...
CodeQL=Code Query Language 和SQL相似,分析引擎在分析完代码后会生成一个类似DB的文件夹Snapshot Database,里面的文件全是源代码和关系数据,接下来我们通过输入QL语句也就是queries规则可以查到XXL-JOB默认accessToken命令执行的漏洞点,然后对其进行分析。
首先看预警信息首先提取关键词:accessToken 默认、在 application.properties 中配置、绕过认证调用 executor接下来我们去 xxl-job 的官方仓库找这个文件该文件有多个但内容一致,这里选择 xxl-job-admin 下的为例。我们能看到 application.properties 中 accessToken 确实有个配置项,其值就为 default_token。因为 ...
XXL-JOB 是一款开源的分布式任务调度平台,用于实现大规模任务的调度和执行。XXL-JOB 默认配置下,用于调度通讯的 accessToken 不是随机生成的,而是使用 application.properties 配置文件中的默认值。在实际使用中如果没有修改默认值,攻击者可利用此绕过认证调用 executor,执行任意代码,从而获取服务器权限。经分析和...
1) 在com/xxl/job/core/executor/XxlJobExecutor.java中会初始化并启动“执行器”内嵌Server,默认端口9999。 2) 在com/xxl/job/core/server/EmbedServer.java中 a. 获取请求的内容、uri、方法和头部XXL-JOB-ACCESS-TOKEN。 b. 将上面获取到的请求信息传入Process方法,首先进行了三个判断: 若请求方法不是POST,...
CodeQL=Code Query Language 和SQL相似,分析引擎在分析完代码后会生成一个类似DB的文件夹Snapshot Database,里面的文件全是源代码和关系数据,接下来我们通过输入QL语句也就是queries规则可以查到XXL-JOB默认accessToken命令执行的漏洞点,然后对其进行分析。
前几日,运调中心的运维同事暴露出来一些已知BUG,其中一项是关于XXL-JOB调度工具的一些BUG。今天就关于AccessToken权限绕过漏洞做一些处理。XXL-JOB 是一款开源的分布式任务调度平台,用于实现大规模任务的调度和执行。XXL-JOB 在使用时使用了默认的AccessToken ,攻击者可使用 AccessToken 绕过认证权限,调用 executor,执行...