欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[原创]PEDIY CTF2017 第五题答案

[原创]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


注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功