From c830af9e843f5350d1f88bbeeda9aa7db859b75a Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 15 Mar 2023 00:26:13 +0900 Subject: add token quizzes --- Q4.txt | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 Q4.txt (limited to 'Q4.txt') diff --git a/Q4.txt b/Q4.txt new file mode 100644 index 0000000..619c4c9 --- /dev/null +++ b/Q4.txt @@ -0,0 +1,105 @@ +# .\n"); + exit(1); +} +if (preg_match(KEY_PATTERN, $argv[1]) !== 1) { + fputs(STDERR, "\nInvalid .\n"); + exit(1); +} +if (preg_match(KEY_PATTERN, $argv[2]) !== 1) { + fputs(STDERR, "\nInvalid .\n"); + exit(1); +} +if (strlen($argv[3]) !== 6) { + fputs(STDERR, "\nInvalid .\n"); + exit(1); +} +$key3 = $argv[3]; +$key3 = str_repeat($key3, strlen($key3)); +$key1 = hex2bin($argv[1]) ^ $key3; +$key2 = hex2bin($argv[2]) ^ $key3; + +$plaintext = openssl_decrypt(CIPHERTEXT, CIPHER_ALGORITHM, $key1, 0, $key2); +if (!password_verify($plaintext, PLAINTEXT_HASH)) { + fputs(STDERR, "\n, or is incorrect.\n"); + exit(1); +} +echo "${plaintext}\n"; + +$a = <<<'nil' + +=end + +require 'digest/md5' + +ds = %w[ + 35589a1cc0b3ca90fc52d0e711c0c434 + a690a0615820e2e5c53901d8b8958509 + fca6a9b459e702fa93513c6a8b8c5dfe +] +k = '' +Module.constants.map(&:to_s).sort.each do |i| + d = Digest::MD5.hexdigest(i) + k += i if ds.include?(d) +end +puts 'key1 is: ' + Digest::MD5.hexdigest(k) + +' +=cut + +use utf8; +use Digest::MD5 qw(md5_hex); + +my @ds = qw[ + 30b92d3052fef34fca8f30d42bb1e395 + 6836a6ebcbbf861ed2db0da1babef4bb + 98f5665676b2179cea2e607dacddc2d0 +]; +my $k = ''; +foreach my $i (sort keys %INC) { + my $d = md5_hex($i); + $k .= $i if grep /^$d$/, @ds; +} +print "key2 is: " . md5_hex($k) . "\n"; + +'# '; +nil; -- cgit v1.2.3-70-g09d2