前言

因为今年第一年参加,其实啥也不会,所以就把做出来的题放出来吧

签到电台

题目内容

题目内容:豪密,是中国共产党和中国工农红军第一本无线电通讯密码的简称,由周恩来同志亲自编制,以周恩来党内化名“伍豪”命名,它是我党建立机要工作最早也是保密性能最强的一种密码,从二十世纪三十年代到全国解放,都始终未被破译。春秋GAME伽玛实验室团队通过对豪密的加密模式进行分析,并参考已有的文献资料,仿制豪密的加密方法,制作成一道题目,谨以此题致敬情报战线的先辈们。

请点击“下发赛题”,让我们一起穿越百年,追寻红色通信足迹。(关注“春秋伽玛”公众号,回复“签到电台”获取解题提示)

思路

这题题目中其实没有太多的信息,主要是进去的那个网页里面有东西:一个标准电码表、一个密码本,然后附了一个参考资料

打开F12的开发者工具,然后按照要求点三下(即摩尔斯电码中的s),就抓到了请求的模板(这里手动的后面多了个J,但是实测不要J也可以)

即可以通过http://<域名>:<端口>/send?msg=<对应的英文字母>这样的格式,使用GET请求来发送信息

发送消息为”弼时安全到达了“,在密码本中直接Ctrl + F查找对应的字,得到对应的密码为1732 2514 1344 0356 0451 6671 0055,然后跟密码本的前28位进行模十运算(就是相加满十不进位),可以得到最终的密码为5527054196298395149957904073

最后访问http://<域名>:<端口>/send?msg=5527054196298395149957904073得到最终的flag{f52cc5ad-02b8-435c-b3e6-d6f907bb87a0}

附上我在做题的时候写的Python程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
codebook = '4895803783858049104891294028048877915993964884508701445170950472768818538157286879377568710737172419298890539211492159906706061553481596238704105315728289938582396161010201690117478415116408421577896895157832859368342230101663462972097373698261703992384839346255728696795365185881001654058108670883555430417806185446713801876774660320697572224607414161582051823332010943895369187926637133510089324514317205555123443145243388316267915082441584692640192647157276119645960280826103942635711642018106393519189267856807479524025909341'
# 密码本
front28 = list(codebook[:28])
# 前28位数字
secret = list('1732251413440356045166710055')
# 七个字对应的电码
result = []
for i in range(len(front28)):
result.append(str(int(front28[i])+int(secret[i]))[-1])

print(result)
res = ''
for i in result:
res += i
print(f'Msg decoded: {res}')

小插曲

在最后一小时黑灯搏杀开始以后有人打平台被封IP了呼呼呼