HEX
Server: Apache
System: Linux web2213.uni5.net 5.4.282-1.el8.elrepo.x86_64 #1 SMP Mon Aug 19 18:33:22 EDT 2024 x86_64
User: clinicamaciel (596848)
PHP: 7.3.33
Disabled: apache_child_terminate,c99_buff_prepare,c99_sess_put,dl,eval,exec,leak,link,myshellexec,openlog,passthru,pclose,pcntl_exec,php_check_syntax,php_strip_whitespace,popen,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,show_source,symlink,system,socket_listen,socket_create_listen,putenv
Upload Files
File: /home/clinicamaciel/www/wp-content/plugins/cherry-plugin/admin/import-export/download-content.php
<?php

// If this file is called directly, abort.
if ( ! defined( 'ABSPATH' ) ) {
    die('Error');
}

/**
 * Process export file download
 */
function cherry_plugin_get_export_file() {
    
    check_ajax_referer( 'cherry_plugin_download_content', '_wpnonce' );

    if ( ! current_user_can( 'export' ) ) {
        wp_die( 'You do not have permissions to do this', 'Error' );
    }

    $file = isset($_GET["file"]) ? $_GET["file"] : '';

    if ( ! $file ) {
        wp_die( 'File not provided', 'Error' );
    }

    $upload_dir = wp_upload_dir();
    $upload_dir = $upload_dir['basedir'];

    if ( false === strpos( $file, $upload_dir ) && false === strpos( $file, str_replace( '\\', '/', $upload_dir ) ) ) {
        wp_die( 'Not allowed file path', 'Error' );
    }

    if ( file_exists( $file ) ) {
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename=' . basename($file));
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');
        header('Content-Length: ' . filesize($file));
        readfile($file);
    } else {
        echo 'error';
    };
}

add_action( 'wp_ajax_cherry_plugin_get_export_file', 'cherry_plugin_get_export_file' );