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
/
var /
www /
html /
cai /
system /
Encryption /
Handlers /
[ HOME SHELL ]
Name
Size
Permission
Action
BaseHandler.php
1.83
KB
-rwxr-x--x
OpenSSLHandler.php
2.74
KB
-rwxr-x--x
SodiumHandler.php
3.39
KB
-rwxr-x--x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : SodiumHandler.php
<?php /** * This file is part of CodeIgniter 4 framework. * * (c) CodeIgniter Foundation <admin@codeigniter.com> * * For the full copyright and license information, please view * the LICENSE file that was distributed with this source code. */ namespace CodeIgniter\Encryption\Handlers; use CodeIgniter\Encryption\Exceptions\EncryptionException; /** * SodiumHandler uses libsodium in encryption. * * @see https://github.com/jedisct1/libsodium/issues/392 */ class SodiumHandler extends BaseHandler { /** * Starter key * * @var string */ protected $key = ''; /** * Block size for padding message. * * @var int */ protected $blockSize = 16; /** * {@inheritDoc} */ public function encrypt($data, $params = null) { $this->parseParams($params); if (empty($this->key)) { throw EncryptionException::forNeedsStarterKey(); } // create a nonce for this operation $nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES); // 24 bytes // add padding before we encrypt the data if ($this->blockSize <= 0) { throw EncryptionException::forEncryptionFailed(); } $data = sodium_pad($data, $this->blockSize); // encrypt message and combine with nonce $ciphertext = $nonce . sodium_crypto_secretbox($data, $nonce, $this->key); // cleanup buffers sodium_memzero($data); sodium_memzero($this->key); return $ciphertext; } /** * {@inheritDoc} */ public function decrypt($data, $params = null) { $this->parseParams($params); if (empty($this->key)) { throw EncryptionException::forNeedsStarterKey(); } if (mb_strlen($data, '8bit') < (SODIUM_CRYPTO_SECRETBOX_NONCEBYTES + SODIUM_CRYPTO_SECRETBOX_MACBYTES)) { // message was truncated throw EncryptionException::forAuthenticationFailed(); } // Extract info from encrypted data $nonce = self::substr($data, 0, SODIUM_CRYPTO_SECRETBOX_NONCEBYTES); $ciphertext = self::substr($data, SODIUM_CRYPTO_SECRETBOX_NONCEBYTES); // decrypt data $data = sodium_crypto_secretbox_open($ciphertext, $nonce, $this->key); if ($data === false) { // message was tampered in transit throw EncryptionException::forAuthenticationFailed(); // @codeCoverageIgnore } // remove extra padding during encryption if ($this->blockSize <= 0) { throw EncryptionException::forAuthenticationFailed(); } $data = sodium_unpad($data, $this->blockSize); // cleanup buffers sodium_memzero($ciphertext); sodium_memzero($this->key); return $data; } /** * Parse the $params before doing assignment. * * @param array|string|null $params * * @throws EncryptionException If key is empty */ protected function parseParams($params) { if ($params === null) { return; } if (is_array($params)) { if (isset($params['key'])) { $this->key = $params['key']; } if (isset($params['blockSize'])) { $this->blockSize = $params['blockSize']; } return; } $this->key = (string) $params; } }
Close