BUUCTF 每日打卡 2021-4-29
引言
蓝帽杯就一道 crypto 又是斐波那契数列,又是 AES 网上查到什么斐波那契数列双混沌加密 反正就是没做出来。。。 等什么时候 wp 出来再说吧。。。
boom
附件是一个 .exe 文件 不会是个 re 题吧。。。 在命令行打开(如果不在命令行打开,最后输出会直接关闭窗口) Do you like van♂ you see?(大雾) 下一步
提交 md5 可以直接查询得到
输入结果
下一步
解三元一次方程组 当然你可以手算 这里我们直接用 sagemath 计算(躺) 结果如下:
最后一步:
还是用 sagemath 求解
输入其中一个解即可
当然你可以 re [doge] 把它丢尽 IDA 里面,可以得到程序的框架 这里用的的软件是 IDA Freeware 7.0 先看输出 flag 的部分:
发现 flag 是由三部分组成 第一部分:
第二部分:
第三部分:
容易知道 flag 即为上面三部分答案拼接而成
B@se
附件内容如下: 1
2
3
4密文:MyLkTaP3FaA7KOWjTmKkVjWjVzKjdeNvTnAjoH9iZOIvTeHbvD==
JASGBWcQPRXEFLbCDIlmnHUVKTYZdMovwipatNOefghq56rs****kxyz012789+/
oh holy shit, something is missing...1
2
3
4
5
6
7
8
9def judge(key, start, end):
s = ''
for i in range(start, end+1):
if not chr(i) in key:
s += chr(i)
return s
unknown = judge(key, ord('A'), ord('Z')) + judge(key, ord('a'), ord('z')) + judge(key, ord('0'), ord('9'))
unknown_list = list(unknown)
print(unknown_list)
1 | import itertools |
输出结果为: 可以看到会有很多重复的内容 应该是由于有些字符在编码表中没有对应的字符,或者对应的字符在不同排列组合的编码表中的位置相同 结果为:wctf2120{base64_1s_v3ry_e@sy_and_fuN}
结语
希望继续坚持