「Bugku CTF」7+1+0

题意

7+1+0?格式 bugku{xxxxx}。

4nXna/V7t2LpdLI44mn0fQ==

分析

看到末尾有 ==,第一反应就是 base64,但使用 Bugku CTF 自带的 base64 解密工具发现 Server Error,猜想到这串 base64 码被动过手脚。这里有一个小插曲,我使用「鲁棒性较强的 base64 解密网站」,发现偶数位得到了正确的 flag,但奇数位是乱码。

结合标题 7+1+0,很可能是奇数位上的字符发生了位翻转。调用 python 的 base64 库,输出 ASCII 码,发现奇数位都 \(\ge 128\)。这样就串起来了,\(\text{7 bit}\to \text{8 bit}\),即进行最高位的 flip,于是手动处理输出即可。


代码

import base64

dec = "4nXna/V7t2LpdLI44mn0fQ=="
s = base64.b64decode(dec)

for i in range(len(s)):
    x = s[i] & 0x7F
    print(chr(x), end = '')
posted @ 2024-12-24 15:16  wlzhouzhuan  阅读(13)  评论(0编辑  收藏  举报