BUUCTF: https://buuoj.cn/challenges


相关阅读 CTF Wiki

在这里插入图片描述

密文:

1
2
3
4
5
6
7
8
9
import hashlib   
for i in range(32,127):
    for j in range(32,127):
        for k in range(32,127):
            m=hashlib.md5()
            m.update('TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM')
            des=m.hexdigest()
            if 'e9032' in des and 'da' in des and '911513' in des:
                print des

解题思路:

密文部分给了一串Python代码,发现一个语法错误

在这里插入图片描述

修改后

在这里插入图片描述

运行代码,报错

在这里插入图片描述

报错原因是:必须在哈希之前Unicode对象进行编码 对代码进行修改,对字符进行(UTF-8)编码

1
2
3
4
5
6
7
8
9
import hashlib   
for i in range(32,127):
    for j in range(32,127):
        for k in range(32,127):
            m=hashlib.md5()
            m.update('TASC'.encode('UTF-8')+chr(i).encode('UTF-8')+'O3RJMV'.encode('UTF-8')+chr(j).encode('UTF-8')+'WDJKX'.encode('UTF-8')+chr(k).encode('UTF-8')+'ZM'.encode('UTF-8'))
            des=m.hexdigest()
            if 'e9032' in des and 'da' in des and '911513' in des:
                print(des)

flag:

1
e9032994dabac08080091151380478a2