欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CTF show crypto14

程序员文章站 2022-05-12 12:30:19
...

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

我们直接将得到的二进制转成16进制,然后再转成字符串,得到了结果如下:3EP/3VNFFmNEAnlHD5dCMmVHD5ad9uG,第一反应便是base64解码,但是解码失败。我这里就不啰嗦我的各种失败解法了。
附上一张base64编码表CTF show crypto14
"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)