以下是对 xxl-job 已知漏洞的搜集、成因分析、修复方案及预防未来漏洞的建议。 搜集xxl-job已知漏洞信息 1. 默认密钥漏洞 描述:在xxl-job的某些版本中,accessToken的默认值是default_token,这个值在配置文件中是硬编码的。如果管理员没有修改这个默认值,攻击者可以使用这个默认的accessToken来伪装成调度中心,执行任意...
XXL-JOB 是一款开源的分布式任务调度平台,用于实现大规模任务的调度和执行。XXL-JOB 在使用时使用了默认的AccessToken ,攻击者可使用 AccessToken 绕过认证权限,调用 executor,执行任意代码,从而获取服务器权限或者一些不可逆的操作。 项目漏洞处理 分析 【搜索引擎】 当我们拿到一些已知BUG,最简单快捷的方式就是通过搜...
XXL-JOB默认accessToken绕过的原理就是配置没有做随机化生成处理。所有使用该XXL-JOB项目的默认值都是default_token,这导致了在默认配置下使用该token可以绕过授权认证功能。 CodeQL默认的规则应该检测不出该类型的漏洞的,通过自定义CodeQL规则也不能完全准确的检测出该类型的问题,只是能检测出大致的范围,其漏洞还是需要...
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身份绕过漏洞,之前hw期间遇到过几次,都没弱口令和未授权,对其有点印象,遂复现一下。 漏洞影响:2.3.1和2.4 环境准备: 1、下载即可:https://github.com/xuxueli/xxl-job/releases/tag
调度中心(默认端口 8080)就是 xxl-job-admin,而执行器(默认端口 9999)则就是所谓的 executor。执行器接收调度中心发出的命令,在所在机器上执行后并返回结果。而接收上级指令一定有一个身份验证来保证不被滥用,这个验证就是 accessToken。那么现在我们大致就理清漏洞的利用思路了,很简单就是构造一个调度中心的...
CodeQL=Code Query Language 和SQL相似,分析引擎在分析完代码后会生成一个类似DB的文件夹Snapshot Database,里面的文件全是源代码和关系数据,接下来我们通过输入QL语句也就是queries规则可以查到XXL-JOB默认accessToken命令执行的漏洞点,然后对其进行分析。
XXL-JOB 是一款开源的分布式任务调度平台,用于实现大规模任务的调度和执行。XXL-JOB 默认配置下,用于调度通讯的 accessToken 不是随机生成的,而是使用 application.properties 配置文件中的默认值。在实际使用中如果没有修改默认值,攻击者可利用此绕过认证调用 executor,执行任意代码,从而获取服务器权限。经分析和...
一、XXL-job简介 在平时的业务场景中,经常有一些场景需要使用定时任务,比如: 某个时间点发送优惠券 发送短信等等 批量处理数据:批量统计上个月的账单,统计上个月销售数据等等 固定频率的场景:每隔5分钟需要执行一次 定时任务在业务场景中非常常见,而且对于现在快速消费的时代,每天都需要发送各种推送,消息都需要依赖定时...
当然仅仅是没有修改默认accessToken并不能形成RCE的条件,远程访问需要host加port,默认是9999(或者自定义端口),所以如果存在默认accessToken加executor的执行端口对外开放,就形成了“洞”。 二、漏洞复现 1.启动xxl-job-admin 拉取项目代码,使用doc/db/tables_xxl_job.sql脚本创建表结构以及初始化数据。修改xxl-job-...