Reorganized

This commit is contained in:
Mari Wahl 2014-11-03 10:49:17 -05:00
parent ab54dc8e70
commit 2afd831662
281 changed files with 253 additions and 33 deletions

View file

@ -0,0 +1,11 @@
'''
from asis 2013: The last crypto (binary numbers) was very puzzling. We couldnt decipher it. But a few minutes before the CTF ending, we noticed we could brute-force the 6 missing characters offline, because in each task, there was a client-side verification with a sha-256 hash. For this task, the hash of the flag was 6307c5441ebac07051e3b90d53c3106230dd9aa128601dcd5f63efcf824ce1ba. A quick brute-force in Python revealed us the missing chars, and therefore, the final flag to submit!
'''
import hashlib, itertools
hash = '6307c5441ebac07051e3b90d53c3106230dd9aa128601dcd5f63efcf824ce1ba'
ch = 'abcdef0123456789'
for a, b, c, d, e, f in itertools.product(ch, ch, ch, ch, ch, ch):
if hashlib.sha256('ASIS_a9%s00f497f2eaa4372a7fc21f0d' % (a + b + c + d + e + f)).hexdigest() == hash:
print 'ASIS_a9%s00f497f2eaa4372a7fc21f0d' % (a + b + c + d + e + f)

View file

@ -0,0 +1,24 @@
'''
from asis 2013
'''
from itertools import permutations
from hashlib import sha256
def test(s):
e = '9f2a579716af14400c9ba1de8682ca52c17b3ed4235ea17ac12ae78ca24876ef'
return sha256('ASIS_' + s).hexdigest() == e
m = '3c6a1c371b381c943065864b95ae5546'
s = '12456789x'
for p in permutations(s):
def f(sub, c):
if c in sub:
return sub[c]
else:
return c
sub = {c : d for c, d in zip(s, p)}
z = ''.join(f(sub, c) for c in m)
if test(z):
print z
break