CTF-APPLE SAFEBOX V1 SOLUTION. Melakukan simpel brute-force.
Link : http://ctf-apple.herokuapp.com/CTF_1/
===================================
import random
import string
import time
def get_random_string(length):
# Random string with the combination of lower and upper case
letters = string.ascii_letters
result_str = ''.join(random.choice(letters) for i in range(length))
return result_str
get_random_string(11)
# substr($code, 0,1) == substr($code, 2,1) && ord(substr($code, 2,1)) == 119
# Huruf pada ke-3 dan ke-5 memiliki nilai dalam bentuk char : 119
# chr(119) = w
# Huruf ke-3 dan ke-5 ialah w
# $c = substr($code, 9,1);
# substr($code, 7,1) == "g" && ord($c) == 99
# char(99) = c
# Huruf ke - 8 ialah : g dan huruf ke - 10 : c
# for($i = 0; $i < strlen($code); ++$i){
# Untuk setiap huruf di dalam string, eksekusi kode berikut
# $b = ord($code[$i]);
# Assign variable b dengan nilai dari integernya huruf di code saat ini
# if ($i % 2 == 0) {
# $a += $b;
# Jika hasil dari i % 2 ialah 0
# nilai a = a + b
# } else {
# $a -= $b;
# Selain itu nilai a = a - b
# Kunci akhir ada pada kode ini
# $a == (ord('f')+100)
# ord('f') = 102
# Nilai a seharusnya ialah 202
while True:
key = get_random_string(11)
lkey = list(key)
# print(key)
lkey[2] = "w";
lkey[4] = "w";
lkey[7] = "g";
lkey[9] = "c";
a = 0
for x in range(len(lkey)):
b = ord(lkey[x])
if (x % 2 == 0 ):
a += b
else:
a -= b
if a == 202:
key = "".join(lkey)
print(key)
time.sleep(0.00001)
Comments
Post a Comment