CTF show crypto14

题目地址:https://ctf.show

我们直接将得到的二进制转成16进制,然后再转成字符串,得到了结果如下:3EP/3VNFFmNEAnlHD5dCMmVHD5ad9uG,第一反应便是base64解码,但是解码失败。我这里就不啰嗦我的各种失败解法了。
附上一张base64编码表在这里插入图片描述
"flag"使用base64加密后的字符串是 ZmxhZw== 前面的ZmxhZ不管flag后面是什么都不会改变。我们对比一下前四个字符,"Zmxh"和"3EP/"在base64表中查一下,Z和3差了30,m和E差了30。这下应该明白了吧。
当然一个一个找也可以,我这里给出个脚本,运行即可得正确的base64,解码得flag:

 #author 羽
s= '3EP/3VNFFmNEAnlHD5dCMmVHD5ad9uG'
t = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
l=""
for i in s:
    l += t[(t.index(i)-30)%64]

if len(l)%4!=0:
    l=l+"="*(4-(len(l)%4))
print(l)

猜你喜欢

转载自blog.csdn.net/miuzzx/article/details/104495832