Skip to content

Instantly share code, notes, and snippets.

@evanpjensen
Created February 4, 2019 04:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save evanpjensen/ab9b53eabd4540e6734a51c7d936004b to your computer and use it in GitHub Desktop.
Save evanpjensen/ab9b53eabd4540e6734a51c7d936004b to your computer and use it in GitHub Desktop.
Solution to share plz from bitsctf
import itertools
import hashlib
b=['6886e0d29007ca152880b30d73ca2adc',
'e298fefb7e2f17e7ec4bdb1f491b871c',
'56ead72536c569c0b4b275f0d6c394b5',
'90263563551288d60ce0dfb9a73d37b3',
'c5ac17d81bfd20d8ec4ec09e7d5d5ae3',
'38d11d05e9168320b911be4375ce2159',
'e668ea8a6e7d0687d2db728ffbd3c8c2',
'3d7978850e30e9ceef58dd50ecd1e199',
'620fe38f78a29a3bc51e11a35aaa2c2e',
'c951ef807c0b0d740b067de83347d4a4',
'eba6551ee6e5e76b4c6a98d46b446564']
d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_{}'
def str_of_pem(p):
return ''.join(p)
def fixstr(a):
return a.encode('utf8')
def md5(s):
return hashlib.md5(fixstr(s)).hexdigest()
def test(s):
return md5(s) in b
def rank(a):
return b.index(md5(a))
flag=list(filter(test, map(str_of_pem, itertools.product(d,repeat=4))))
flag.sort(key=rank)
print ''.join(flag)
# $ time python share_plz_solve.py
# BITSCTF{unc0mpyl3_kn0w5_wh47_1_wr073_s0_s4d}
# real 0m20.059s
# user 0m19.699s
# sys 0m0.357s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment