[JarvisOj](Basic)手贱


题目链接:

https://www.jarvisoj.com/challenges

某天A君的网站被日,管理员密码被改,死活登不上,去数据库一看,啥,这密码md5不是和原来一样吗?为啥登不上咧?
d78b6f302l25cdc811adfe8d4e7c9fd34
请提交PCTF{原来的管理员密码}


分析:
通过对题目提供的MD5的分析 , 发现MD5的长度为 : 33 , 而我们知道MD5是不可能有33位的 , 最接近的就是32位 , 说明这个MD5已经被黑客修改过了 , 因此利用Python脚本一个一个去掉其中的某一个字符 , 然后再逐个查询MD5的值 , 最终得到原来的密码 .

得到的所有可能MD5为 :

78b6f302l25cdc811adfe8d4e7c9fd34
d8b6f302l25cdc811adfe8d4e7c9fd34
d7b6f302l25cdc811adfe8d4e7c9fd34
d786f302l25cdc811adfe8d4e7c9fd34
d78bf302l25cdc811adfe8d4e7c9fd34
d78b6302l25cdc811adfe8d4e7c9fd34
d78b6f02l25cdc811adfe8d4e7c9fd34
d78b6f32l25cdc811adfe8d4e7c9fd34
d78b6f30l25cdc811adfe8d4e7c9fd34
d78b6f30225cdc811adfe8d4e7c9fd34
d78b6f302l5cdc811adfe8d4e7c9fd34
d78b6f302l2cdc811adfe8d4e7c9fd34
d78b6f302l25dc811adfe8d4e7c9fd34
d78b6f302l25cc811adfe8d4e7c9fd34
d78b6f302l25cd811adfe8d4e7c9fd34
d78b6f302l25cdc11adfe8d4e7c9fd34
d78b6f302l25cdc81adfe8d4e7c9fd34
d78b6f302l25cdc81adfe8d4e7c9fd34
d78b6f302l25cdc811dfe8d4e7c9fd34
d78b6f302l25cdc811afe8d4e7c9fd34
d78b6f302l25cdc811ade8d4e7c9fd34
d78b6f302l25cdc811adf8d4e7c9fd34
d78b6f302l25cdc811adfed4e7c9fd34
d78b6f302l25cdc811adfe84e7c9fd34
d78b6f302l25cdc811adfe8de7c9fd34
d78b6f302l25cdc811adfe8d47c9fd34
d78b6f302l25cdc811adfe8d4ec9fd34
d78b6f302l25cdc811adfe8d4e79fd34
d78b6f302l25cdc811adfe8d4e7cfd34
d78b6f302l25cdc811adfe8d4e7c9d34
d78b6f302l25cdc811adfe8d4e7c9f34
d78b6f302l25cdc811adfe8d4e7c9fd4
d78b6f302l25cdc811adfe8d4e7c9fd3

Python脚本如下 :

# coding:utf8

myMd5 = ""
for i in range(len(myMd5)):
    for j in range(len(myMd5)):
        if i == j:
            pass
        else:
            print myMd5[j],
    print ""

答案:

PCTF{hack}


知识点:

1. MD5

你可能感兴趣的:([JarvisOj](Basic)手贱)