Windows NT DGPENSV2LPKMN 10.0 build 14393 (Windows Server 2016) AMD64
Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/7.3.25
: 172.16.0.66 | : 172.16.0.254
Cant Read [ /etc/named.conf ]
7.3.25
SYSTEM
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
BLACK DEFEND!
README
+ Create Folder
+ Create File
[ A ]
[ C ]
[ D ]
C: /
xampp7 /
phpMyAdmin /
libraries /
classes /
[ HOME SHELL ]
Name
Size
Permission
Action
Charsets
[ DIR ]
drwxrwxrwx
Config
[ DIR ]
drwxrwxrwx
Controllers
[ DIR ]
drwxrwxrwx
Database
[ DIR ]
drwxrwxrwx
Dbi
[ DIR ]
drwxrwxrwx
Di
[ DIR ]
drwxrwxrwx
Display
[ DIR ]
drwxrwxrwx
Engines
[ DIR ]
drwxrwxrwx
Gis
[ DIR ]
drwxrwxrwx
Navigation
[ DIR ]
drwxrwxrwx
Plugins
[ DIR ]
drwxrwxrwx
Properties
[ DIR ]
drwxrwxrwx
Rte
[ DIR ]
drwxrwxrwx
Server
[ DIR ]
drwxrwxrwx
Setup
[ DIR ]
drwxrwxrwx
Twig
[ DIR ]
drwxrwxrwx
Utils
[ DIR ]
drwxrwxrwx
Advisor.php
19.56
KB
-rw-rw-rw-
Bookmark.php
10.74
KB
-rw-rw-rw-
BrowseForeigners.php
11.15
KB
-rw-rw-rw-
CentralColumns.php
44.19
KB
-rw-rw-rw-
Charsets.php
6.14
KB
-rw-rw-rw-
CheckUserPrivileges.php
12.59
KB
-rw-rw-rw-
Config.php
57.38
KB
-rw-rw-rw-
Console.php
3.69
KB
-rw-rw-rw-
Core.php
38.31
KB
-rw-rw-rw-
CreateAddField.php
17.91
KB
-rw-rw-rw-
DatabaseInterface.php
104.47
KB
-rw-rw-rw-
Encoding.php
8.68
KB
-rw-rw-rw-
Error.php
13.34
KB
-rw-rw-rw-
ErrorHandler.php
17.17
KB
-rw-rw-rw-
ErrorReport.php
8.92
KB
-rw-rw-rw-
Export.php
42.76
KB
-rw-rw-rw-
File.php
21.29
KB
-rw-rw-rw-
FileListing.php
2.83
KB
-rw-rw-rw-
Font.php
5.54
KB
-rw-rw-rw-
Footer.php
10.6
KB
-rw-rw-rw-
Header.php
21.87
KB
-rw-rw-rw-
Import.php
56.56
KB
-rw-rw-rw-
Index.php
24.5
KB
-rw-rw-rw-
IndexColumn.php
4.44
KB
-rw-rw-rw-
InsertEdit.php
129.31
KB
-rw-rw-rw-
InternalRelations.php
17.42
KB
-rw-rw-rw-
IpAllowDeny.php
9.57
KB
-rw-rw-rw-
Language.php
4.31
KB
-rw-rw-rw-
LanguageManager.php
23.71
KB
-rw-rw-rw-
Linter.php
5.21
KB
-rw-rw-rw-
ListAbstract.php
2.51
KB
-rw-rw-rw-
ListDatabase.php
4.34
KB
-rw-rw-rw-
Logging.php
2.6
KB
-rw-rw-rw-
Menu.php
22.36
KB
-rw-rw-rw-
Message.php
19.32
KB
-rw-rw-rw-
Mime.php
916
B
-rw-rw-rw-
MultSubmits.php
23.64
KB
-rw-rw-rw-
Normalization.php
40.41
KB
-rw-rw-rw-
OpenDocument.php
8.52
KB
-rw-rw-rw-
Operations.php
81.25
KB
-rw-rw-rw-
OutputBuffering.php
3.71
KB
-rw-rw-rw-
ParseAnalyze.php
2.55
KB
-rw-rw-rw-
Partition.php
7.27
KB
-rw-rw-rw-
Pdf.php
4.37
KB
-rw-rw-rw-
Plugins.php
22.95
KB
-rw-rw-rw-
RecentFavoriteTable.php
12.04
KB
-rw-rw-rw-
Relation.php
79.64
KB
-rw-rw-rw-
RelationCleanup.php
15
KB
-rw-rw-rw-
Replication.php
5.75
KB
-rw-rw-rw-
ReplicationGui.php
21.23
KB
-rw-rw-rw-
Response.php
16.14
KB
-rw-rw-rw-
Sanitize.php
14.51
KB
-rw-rw-rw-
SavedSearches.php
11.94
KB
-rw-rw-rw-
Scripts.php
3.65
KB
-rw-rw-rw-
Session.php
7.62
KB
-rw-rw-rw-
Sql.php
82.09
KB
-rw-rw-rw-
SqlQueryForm.php
17.63
KB
-rw-rw-rw-
StorageEngine.php
13.75
KB
-rw-rw-rw-
SubPartition.php
3.55
KB
-rw-rw-rw-
SysInfo.php
1.61
KB
-rw-rw-rw-
SysInfoBase.php
822
B
-rw-rw-rw-
SysInfoLinux.php
2.16
KB
-rw-rw-rw-
SysInfoSunOS.php
1.89
KB
-rw-rw-rw-
SysInfoWINNT.php
3.27
KB
-rw-rw-rw-
SystemDatabase.php
3.97
KB
-rw-rw-rw-
Table.php
94.87
KB
-rw-rw-rw-
TablePartitionDefinition.php
6.64
KB
-rw-rw-rw-
Template.php
4.02
KB
-rw-rw-rw-
Theme.php
8.62
KB
-rw-rw-rw-
ThemeManager.php
10.42
KB
-rw-rw-rw-
Tracker.php
30.13
KB
-rw-rw-rw-
Tracking.php
40.26
KB
-rw-rw-rw-
Transformations.php
16.27
KB
-rw-rw-rw-
TwoFactor.php
7.14
KB
-rw-rw-rw-
Types.php
24.93
KB
-rw-rw-rw-
Url.php
8.32
KB
-rw-rw-rw-
UserPassword.php
9
KB
-rw-rw-rw-
UserPreferences.php
8.62
KB
-rw-rw-rw-
UserPreferencesHeader.php
4.13
KB
-rw-rw-rw-
Util.php
168.02
KB
-rw-rw-rw-
VersionInformation.php
6.92
KB
-rw-rw-rw-
ZipExtension.php
10.25
KB
-rw-rw-rw-
Delete
Unzip
Zip
${this.title}
Close
Code Editor : ErrorHandler.php
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Holds class PhpMyAdmin\ErrorHandler * * @package PhpMyAdmin */ declare(strict_types=1); namespace PhpMyAdmin; use PhpMyAdmin\Error; use PhpMyAdmin\Response; use PhpMyAdmin\Url; /** * handling errors * * @package PhpMyAdmin */ class ErrorHandler { /** * holds errors to be displayed or reported later ... * * @var Error[] */ protected $errors = []; /** * Hide location of errors */ protected $hide_location = false; /** * Initial error reporting state */ protected $error_reporting = 0; /** * Constructor - set PHP error handler * */ public function __construct() { /** * Do not set ourselves as error handler in case of testsuite. * * This behavior is not tested there and breaks other tests as they * rely on PHPUnit doing it's own error handling which we break here. */ if (! defined('TESTSUITE')) { set_error_handler([$this, 'handleError']); } if (Util::isErrorReportingAvailable()) { $this->error_reporting = error_reporting(); } } /** * Destructor * * stores errors in session * */ public function __destruct() { if (isset($_SESSION)) { if (! isset($_SESSION['errors'])) { $_SESSION['errors'] = []; } // remember only not displayed errors foreach ($this->errors as $key => $error) { /** * We don't want to store all errors here as it would * explode user session. */ if (count($_SESSION['errors']) >= 10) { $error = new Error( 0, __('Too many error messages, some are not displayed.'), __FILE__, __LINE__ ); $_SESSION['errors'][$error->getHash()] = $error; break; } elseif (($error instanceof Error) && ! $error->isDisplayed() ) { $_SESSION['errors'][$key] = $error; } } } } /** * Toggles location hiding * * @param boolean $hide Whether to hide * * @return void */ public function setHideLocation(bool $hide): void { $this->hide_location = $hide; } /** * returns array with all errors * * @param bool $check Whether to check for session errors * * @return Error[] */ public function getErrors(bool $check = true): array { if ($check) { $this->checkSavedErrors(); } return $this->errors; } /** * returns the errors occurred in the current run only. * Does not include the errors saved in the SESSION * * @return Error[] */ public function getCurrentErrors(): array { return $this->errors; } /** * Pops recent errors from the storage * * @param int $count Old error count * * @return Error[] */ public function sliceErrors(int $count): array { $errors = $this->getErrors(false); $this->errors = array_splice($errors, 0, $count); return array_splice($errors, $count); } /** * Error handler - called when errors are triggered/occurred * * This calls the addError() function, escaping the error string * Ignores the errors wherever Error Control Operator (@) is used. * * @param integer $errno error number * @param string $errstr error string * @param string $errfile error file * @param integer $errline error line * * @return void */ public function handleError( int $errno, string $errstr, string $errfile, int $errline ): void { if (Util::isErrorReportingAvailable()) { /** * Check if Error Control Operator (@) was used, but still show * user errors even in this case. */ if (error_reporting() == 0 && $this->error_reporting != 0 && ($errno & (E_USER_WARNING | E_USER_ERROR | E_USER_NOTICE | E_USER_DEPRECATED)) == 0 ) { return; } } else { if (($errno & (E_USER_WARNING | E_USER_ERROR | E_USER_NOTICE | E_USER_DEPRECATED)) == 0) { return; } } $this->addError($errstr, $errno, $errfile, $errline, true); } /** * Add an error; can also be called directly (with or without escaping) * * The following error types cannot be handled with a user defined function: * E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, * E_COMPILE_WARNING, * and most of E_STRICT raised in the file where set_error_handler() is called. * * Do not use the context parameter as we want to avoid storing the * complete $GLOBALS inside $_SESSION['errors'] * * @param string $errstr error string * @param integer $errno error number * @param string $errfile error file * @param integer $errline error line * @param boolean $escape whether to escape the error string * * @return void */ public function addError( string $errstr, int $errno, string $errfile, int $errline, bool $escape = true ): void { if ($escape) { $errstr = htmlspecialchars($errstr); } // create error object $error = new Error( $errno, $errstr, $errfile, $errline ); $error->setHideLocation($this->hide_location); // do not repeat errors $this->errors[$error->getHash()] = $error; switch ($error->getNumber()) { case E_STRICT: case E_DEPRECATED: case E_NOTICE: case E_WARNING: case E_CORE_WARNING: case E_COMPILE_WARNING: case E_RECOVERABLE_ERROR: /* Avoid rendering BB code in PHP errors */ $error->setBBCode(false); break; case E_USER_NOTICE: case E_USER_WARNING: case E_USER_ERROR: case E_USER_DEPRECATED: // just collect the error // display is called from outside break; case E_ERROR: case E_PARSE: case E_CORE_ERROR: case E_COMPILE_ERROR: default: // FATAL error, display it and exit $this->dispFatalError($error); exit; } } /** * trigger a custom error * * @param string $errorInfo error message * @param integer $errorNumber error number * * @return void */ public function triggerError(string $errorInfo, ?int $errorNumber = null): void { // we could also extract file and line from backtrace // and call handleError() directly trigger_error($errorInfo, $errorNumber); } /** * display fatal error and exit * * @param Error $error the error * * @return void */ protected function dispFatalError(Error $error): void { if (! headers_sent()) { $this->dispPageStart($error); } $error->display(); $this->dispPageEnd(); exit; } /** * Displays user errors not displayed * * @return void */ public function dispUserErrors(): void { echo $this->getDispUserErrors(); } /** * Renders user errors not displayed * * @return string */ public function getDispUserErrors(): string { $retval = ''; foreach ($this->getErrors() as $error) { if ($error->isUserError() && ! $error->isDisplayed()) { $retval .= $error->getDisplay(); } } return $retval; } /** * display HTML header * * @param Error $error the error * * @return void */ protected function dispPageStart(?Error $error = null): void { Response::getInstance()->disable(); echo '<html><head><title>'; if ($error) { echo $error->getTitle(); } else { echo 'phpMyAdmin error reporting page'; } echo '</title></head>'; } /** * display HTML footer * * @return void */ protected function dispPageEnd(): void { echo '</body></html>'; } /** * renders errors not displayed * * @return string */ public function getDispErrors(): string { $retval = ''; // display errors if SendErrorReports is set to 'ask'. if ($GLOBALS['cfg']['SendErrorReports'] != 'never') { foreach ($this->getErrors() as $error) { if (! $error->isDisplayed()) { $retval .= $error->getDisplay(); } } } else { $retval .= $this->getDispUserErrors(); } // if preference is not 'never' and // there are 'actual' errors to be reported if ($GLOBALS['cfg']['SendErrorReports'] != 'never' && $this->countErrors() != $this->countUserErrors() ) { // add report button. $retval .= '<form method="post" action="error_report.php"' . ' id="pma_report_errors_form"'; if ($GLOBALS['cfg']['SendErrorReports'] == 'always') { // in case of 'always', generate 'invisible' form. $retval .= ' class="hide"'; } $retval .= '>'; $retval .= Url::getHiddenFields([ 'exception_type' => 'php', 'send_error_report' => '1', 'server' => $GLOBALS['server'], ]); $retval .= '<input type="submit" value="' . __('Report') . '" id="pma_report_errors" class="btn btn-primary floatright">' . '<input type="checkbox" name="always_send"' . ' id="always_send_checkbox" value="true">' . '<label for="always_send_checkbox">' . __('Automatically send report next time') . '</label>'; if ($GLOBALS['cfg']['SendErrorReports'] == 'ask') { // add ignore buttons $retval .= '<input type="submit" value="' . __('Ignore') . '" id="pma_ignore_errors_bottom" class="btn btn-secondary floatright">'; } $retval .= '<input type="submit" value="' . __('Ignore All') . '" id="pma_ignore_all_errors_bottom" class="btn btn-secondary floatright">'; $retval .= '</form>'; } return $retval; } /** * displays errors not displayed * * @return void */ public function dispErrors(): void { echo $this->getDispErrors(); } /** * look in session for saved errors * * @return void */ protected function checkSavedErrors(): void { if (isset($_SESSION['errors'])) { // restore saved errors foreach ($_SESSION['errors'] as $hash => $error) { if ($error instanceof Error && ! isset($this->errors[$hash])) { $this->errors[$hash] = $error; } } // delete stored errors $_SESSION['errors'] = []; unset($_SESSION['errors']); } } /** * return count of errors * * @param bool $check Whether to check for session errors * * @return integer number of errors occurred */ public function countErrors(bool $check = true): int { return count($this->getErrors($check)); } /** * return count of user errors * * @return integer number of user errors occurred */ public function countUserErrors(): int { $count = 0; if ($this->countErrors()) { foreach ($this->getErrors() as $error) { if ($error->isUserError()) { $count++; } } } return $count; } /** * whether use errors occurred or not * * @return boolean */ public function hasUserErrors(): bool { return (bool) $this->countUserErrors(); } /** * whether errors occurred or not * * @return boolean */ public function hasErrors(): bool { return (bool) $this->countErrors(); } /** * number of errors to be displayed * * @return integer number of errors to be displayed */ public function countDisplayErrors(): int { if ($GLOBALS['cfg']['SendErrorReports'] != 'never') { return $this->countErrors(); } return $this->countUserErrors(); } /** * whether there are errors to display or not * * @return boolean */ public function hasDisplayErrors(): bool { return (bool) $this->countDisplayErrors(); } /** * Deletes previously stored errors in SESSION. * Saves current errors in session as previous errors. * Required to save current errors in case 'ask' * * @return void */ public function savePreviousErrors(): void { unset($_SESSION['prev_errors']); $_SESSION['prev_errors'] = $GLOBALS['error_handler']->getCurrentErrors(); } /** * Function to check if there are any errors to be prompted. * Needed because user warnings raised are * also collected by global error handler. * This distinguishes between the actual errors * and user errors raised to warn user. * * @return boolean true if there are errors to be "prompted", false otherwise */ public function hasErrorsForPrompt(): bool { return ( $GLOBALS['cfg']['SendErrorReports'] != 'never' && $this->countErrors() != $this->countUserErrors() ); } /** * Function to report all the collected php errors. * Must be called at the end of each script * by the $GLOBALS['error_handler'] only. * * @return void */ public function reportErrors(): void { // if there're no actual errors, if (! $this->hasErrors() || $this->countErrors() == $this->countUserErrors() ) { // then simply return. return; } // Delete all the prev_errors in session & store new prev_errors in session $this->savePreviousErrors(); $response = Response::getInstance(); $jsCode = ''; if ($GLOBALS['cfg']['SendErrorReports'] == 'always') { if ($response->isAjax()) { // set flag for automatic report submission. $response->addJSON('sendErrorAlways', '1'); } else { // send the error reports asynchronously & without asking user $jsCode .= '$("#pma_report_errors_form").submit();' . 'Functions.ajaxShowMessage( Messages.phpErrorsBeingSubmitted, false );'; // js code to appropriate focusing, $jsCode .= '$("html, body").animate({ scrollTop:$(document).height() }, "slow");'; } } elseif ($GLOBALS['cfg']['SendErrorReports'] == 'ask') { //ask user whether to submit errors or not. if (! $response->isAjax()) { // js code to show appropriate msgs, event binding & focusing. $jsCode = 'Functions.ajaxShowMessage(Messages.phpErrorsFound);' . '$("#pma_ignore_errors_popup").on("click", function() { Functions.ignorePhpErrors() });' . '$("#pma_ignore_all_errors_popup").on("click", function() { Functions.ignorePhpErrors(false) });' . '$("#pma_ignore_errors_bottom").on("click", function(e) { e.preventDefault(); Functions.ignorePhpErrors() });' . '$("#pma_ignore_all_errors_bottom").on("click", function(e) { e.preventDefault(); Functions.ignorePhpErrors(false) });' . '$("html, body").animate({ scrollTop:$(document).height() }, "slow");'; } } // The errors are already sent from the response. // Just focus on errors division upon load event. $response->getFooter()->getScripts()->addCode($jsCode); } }
Close