weblogic未生效js_XXLjob 执行器 RESTful API 未授权访问RCE

漏洞复现

看到发漏洞公告是 RESTful API 未授权,去官网搜了一下使用手册,总共有两种 RESTful API,一个 调度中心 RESTful API,一个 执行器 RESTful API。

测试了一下,发现问题出现在执行器 RESTful API。其中有个触发任务执行的说明:

说明:触发任务执行------地址格式:{执行器内嵌服务跟地址}/runHeader:    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       // 错误提示消息    }

    注意其中的任务模式 glueType,翻了下代码,有下面几种:

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");

用 GLUE_SHELL 构造一下请求包,直接在 glueSource 参数值写 bash 命令就可以了:

7067072fda99decece0103db3afff4a6.png

XXL-JOB官方文档

https://github.com/xuxueli/xxl-job/blob/master/doc/XXL-JOB%E5%AE%98%E6%96%B9%E6%96%87%E6%A1%A3.md

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值