XXL-JOB executor 未授权远程代码执行漏洞【原理扫描】

  近日,我们部署的服务器扫描到了xxl-job-admin定时任务的漏洞,需要进行修复,特此记录。

一、问题描述

详细描述:

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。XXL-JOB分为admin和executor两端,前者为后台管理页面,后者是任务执行的客户端。executor默认没有配置认证,未授权的攻击者可以通过RESTful API执行任意命令。

二、修复思路

修复:

增加授权验证,配置 xxl.job.accessToken 防止未授权访问漏洞。

三、解决方案

具体步骤(容器部署):
(1)重新运行xxl-job-admin容器,加参数。

docker run -d --restart=always --network host \
  -e PARAMS="--spring.datasource.url=jdbc:mysql://192.168.1.1:3306/test?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=123456 --spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver --xxl.job.accessToken=Abvsdf23459fdhsdg8fdg503" \
  -v /home/xxl-job:/data/applogs/xxl-job \
  --name xxl-job-admin \
  xxl-job-admin:2.4.1

(2)对应调用的应用程序修改配置文件,之后重启程序即可。(自定义复杂的随机字符串)

xxl.job.accessToken=Abvsdf23459fdhsdg8fdg503

四、验证

# 响应code500
curl -X POST "http://192.168.1.1:9090/xxl-job-admin/api/checkToken" -H "XXL-JOB-ACCESS-TOKEN: Abvsdf23459fdhsdg8fdg503"

# 响应code200
curl -X POST "http://192.168.1.1:9994/beat" -H "XXL-JOB-ACCESS-TOKEN: Abvsdf23459fdhsdg8fdg503"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一条代码鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值