[原创]PEDIY CTF2017 第五题答案
这题应该是考爆破,字符串逆序,长度为6,然后做一个简单的变换,驱动计算md5返回,应用层再算一下md5,比较第2到第12位,hashcat也不好使。
double md5, 貌似没有其他好办法吧? 写了个python脚本丢到服务器上2个小时出了结果,运气还算比较好吧。
过反调试可以patch资源里的驱动,然后就可以调了。
import hashlib
import random, string
def fix(key):
key = key[::-1]
new_k = map(ord,key)
new_k[0] += 1
for i in range(1,len(key)):
new_k[i] += i
key= map(chr,new_k)
return ''.join(key)
def crack(key):
print key
kk=fix(key)
md5=hashlib.md5(kk).hexdigest()
ret=hashlib.md5(md5).hexdigest()
if ret[2:12]=='888aeda4ab':#888aeda4ab':
print 'ok',key
f=open('key.txt','wb')
f.write(key)
f.close()
exit(1)
return 0
while True:
rand_str = lambda n: ''.join([random.choice(string.lowercase+string.digits) for i in xrange(n)])
crack(rand_str(6))结果是su1986
