找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 14257|回复: 76

哈希算法、DDoS攻击和集体智慧——45小时解谜全过程

  [复制链接]
 楼主| 发表于 2019-12-17 18:12:07 | 显示全部楼层 |阅读模式
本帖最后由 耶稣泡观音 于 2019-12-17 06:12 编辑

Hi, 我是虚拟国航的运营负责人。12月14日,上周日晚7点,我们在论坛发布了一则解密游戏。在此之后的45个小时内,有超过上百人参与了这场解谜游戏。有5人顺利解开了全部4个阶段的谜题,到达了终点。过去的45小时内,我们见证了隐藏二进制、BASE64、哈希加密、诺基亚、虹桥机场、凯撒大帝、频谱图、中日活动、流程图,以及一次DDoS攻击。


无论你是绞尽脑汁完成了全部的谜题,还是作为吃瓜群众旁观了全程,接下来,我会带你重温这充满意外与惊喜的45小时解谜全过程。


在开始之前,我想提一下我们这次谜题设计的几个重要原则:


1.所有给出的线索都作为解谜的必要环节。


2.大多数线索都指向虚拟国航相关的内容。


3.谜题的线索必须环环相扣、紧密联系,并且所有进度可以由多条线索平行推出。


4.为防止穷举、每一阶段的入口需要两种以上的加密算法来保护。


那我们开始吧。




 楼主| 发表于 2019-12-17 18:12:08 | 显示全部楼层
第一阶段

迷题的起点是一张发布在论坛的图片。

041122nsoc9clxxllbklf0.jpg

如果你仔细观察这张图片的内容,你会看到一大段中文,和几个吸睛的英文单词。

仔细观察这几个单词,不难发现,只有"Replace"和"Color"没有上色。这可以促使你联想到Photoshop中的“替换颜色(Replace Color)”功能。

使用替换颜色功能,将图片的黑色背景替换为浅色,你就能得到一串隐藏的二进制码和一个向左的箭头(我的头像也有相同的符号)

041122nsoc9clxxllklf0.jpg

将这串二进制转换为ASCII字符串,可以得到

“REDCAPSANDNUMBERS”(红色大写字母和数字)


于是就能联系到图片中的红色大写字母和那个奇怪的数字"64",连起来就是

“BASE64”


BASE64是一种常见的用于传输8Bit字节码的编码方式。可以看到我的签名和头衔处有一串奇怪的字符串,你就能联想到,应该是用BASE64进行解密。但是,如果直接对这串字符解密,你什么也得不到。联系刚才得到的向左的箭头,这串字符串应该是从右向左的顺序。即:

wLslmYvEmLqB3Z  → Z3BqLmEvYmlsLw


再加上BASE64的标志,两个"="号的休止符,得到

Z3BqLmEvYmlsLw==


使用BASE64解密,得到:

gpj.a/bil/


再通过从右到左的顺序倒序,得到

/lib/a.jpg


观察到图片中右下角的不完整的url,刚好能和我们得到的结果对应,然后代入url,得到第二阶段的入口:

zh.virtualcca.org/lib/a.jpg


回复

使用道具 举报

 楼主| 发表于 2019-12-17 18:12:09 | 显示全部楼层
第二阶段

第二阶段的解密仍然是一张图片。

200339ni6u38vcw624uixa.jpg

最吸引人眼球的应该是左下角的诺基亚了。观察上面的文字,分为左右两列,而且明显看到左边文字大,右边文字小,左边文字多,右边文字少。如果你再有心一点,把左右两边每一列的字数数一数,你可以发现,左边的字数在2-8个之间,右边的字数在1-4之间。联系诺基亚手机的键盘,你就能发现,左边的数字对应的是诺基亚键盘上的数字键,右侧的字数对应的是左侧相应数字键上的第N个字母。

例如,第一行,左侧字数为7,右侧为4,即"7"键上的第4个字母,即"S".

根据这个方法,可以得到一串字符串:

"SBRJXQLBOLV"


再看看诺基亚上的信息:搭乘前往上海虹桥机场的第224班航班。上海虹桥机场的IATA代码为SHA,以及后面的收件人:Mr.Hash. 可以联想到一种哈希算法SHA224. 通过这一算法对上面的字符串加密,可以得到:

“e544c0cedbe9337d1ef0819527770d0ae1cd09e3d45c05bab7403739”


有了这串字符,我们再来看看文字的具体内容吧,信中提到了“拆开信封”、“别把它当作一封信
等字眼,暗示我们不要将其看作一张图片,那么我们用文本文档打开这张图片,在一堆乱码的最后可以得到一个网址:

icrew.virtualcca.org/HaveYouAlreadyArrivedAtHongqiaoAirport,Mr.Hash?/

QQ截图20191216233600.jpg


显然是打不开的。不妨将上面通过SHA224算法加密的字符串代入到这串网址中,得到

icrew.virtualcca.org/e544c0cedbe9337d1ef0819527770d0ae1cd09e3d45c05bab7403739/


这回顺利进去了,但是发现需要密码。我们再来看看图片中没有用到的信息:2019/11/8 离开大连之后。

2019年11月8日,国航“一转光阴”主题活动 十月节·立冬,大连-哈尔滨。


QQ截图20191216233627.jpg

离开大连之后,即离开DBL(大连)台后的第一个航点,

VENOS


这便是密码了,顺利进入第三阶段。

回复

使用道具 举报

 楼主| 发表于 2019-12-17 18:12:10 | 显示全部楼层
本帖最后由 耶稣泡观音 于 2019-12-17 10:58 编辑

第三阶段

第三阶段的解密是一个视频

观察视频桌面,可以看到一张红桃K(这里搞错了,本来应该是方片K,做视频的苦力已经被我祭天了)和一个向右的箭头指向一个二阶矩阵,下面有一串类似乱码的玩意。
本意是想暗示方片K上的人物为凯撒大帝,需要将下面的乱码用凯撒密码解出来。不过,仅凭一个向右的箭头和一个二阶矩阵(矩阵的秩为2),也能猜到是要将字母表向右顺移2位(事实上大家也做到了)。

于是按照凯撒密码解密后,这串字符串变成了:

Nineteen years later, Place the password at SINOFSX.


观察桌面上的时间为2000/11/22,19年后就是2019/11/22,国航在当天有办活动,进入活动帖,你应该就能看到我们很刻意给出的线索:


QQ截图20191216234628.jpg

没错又是哈希算法,SHA1,将左边的eAIP-2019 Nr.12 用SHA1算法加密,得到:

c770866da9e07be4e60a777102387c2fedc76556


有了先前的经验,和活动帖里“入口”的暗示,你应该很容易的猜出,这是网址入口。



那么密码呢?将视频开头的一段倒放音频正放,可以得到关键词“12位的开始时间”

注意到电脑桌面上的Au图标,将这段视频用Au打开,你可以看到频谱图上大大的“CN→JP”


QQ图片20191216235118.jpg

CN→JP,即中国到日本,国航在9月29日与VATJPN联合办了一场中日通航45周年纪念活动,既然是“十二位数的开始时间”,那么很容易想到活动的开始时间:2019年9月29日19:00,为了不混淆时区,箭头是从中国指向日本,即北京时间。密码就是:

201909291900


顺带一提,15日早上10:00,在解谜推进至第二阶段的时候,解谜网站的负载突然增大,导致网站陷入短暂瘫痪,经后台记录,我们在09:58时遭受了一次峰值达9.54GB的DDoS攻击,经过运维临时抢修,网站于10:05恢复正常访问。

//话说大哥们,你D我有啥用啊,密码又不能被D出来。。



回复

使用道具 举报

 楼主| 发表于 2019-12-17 18:12:11 | 显示全部楼层
本帖最后由 耶稣泡观音 于 2019-12-17 10:58 编辑

第四阶段


第四阶段的谜题是一张流程图
15-10-27-未标题-1-1-1.jpg
看到蓝色和绿色的框框,能意识到是让你填完单词,整个揭秘流程中,只有第一阶段出现了大量五彩斑斓的英文单词。而且根据字母的数量和颜色提示,不难填出三个单词:

CELEBRATE、STAFF、MEMBER


然后根据每一个框框上的数字,按顺序得到重新排列过的字符串。值得注意的,5出现了2次,对应的是同一个字母,因此可以省略一个,2出现了两次,缺少一个12,不难想到第二个2就是12,得到:

MFTCEREATFLBESBREA


然后要我们对这串字符处理,通过再下一步需要用到数字,不难想到是根据字母表顺序将字母转成数字:

13 6 1 3 5 18 5 1 20 6 12 2 5 19 2 18 5 1


然后再将这串数字根据“奇数为1,偶数为0”的方式转换,得到二进制码:

101110110000110011


转换为10进制,再加上前缀“tid=”

tid=158771


明显了吧?这是论坛的某个帖子:



16日凌晨02:21,论坛用户CXA2537率先到达了终点,赢得了正版PMDG737NGXu一份,剩下的4位到达终点的飞友也将获得一份国航原创设计明信片。至此,解谜全部结束,恭喜大家!

回复

使用道具 举报

 楼主| 发表于 2019-12-17 18:12:12 | 显示全部楼层
本帖最后由 耶稣泡观音 于 2019-12-17 10:59 编辑

在最后,我还想提一下本次解谜游戏的设计初衷。有人和我说,这次谜题的难度太大,内容太偏向计算机专业,对文科生不公平,或许加入更多航空元素会更好一些。其实这些问题我也不是没想过,但,设计一个逻辑严谨的解谜游戏并不是一件容易的事。我从11月初开始构思谜题的框架,一个半月时间,我也有过很多天马行空的想象,比如设计一个互动游戏、或者把解谜线索和模拟飞行联系起来,甚至想过把解谜元素融入到现实生活中去,而不只局限于一方小小的屏幕。但这些方案最后都被我否决了。原因很简单,我想让这次解谜有更多的现实意义。


过去的45个小时内,有超过130个世界各地天南海北的IP参与了第二阶段的谜题。在论坛,在我加入的群里,有上千条有关解谜活动的探讨,来自广东、江苏、陕西、黑龙江、新疆乃至全国各地的解谜者为了同一个目标而共同努力。在这过程中,我看到许多平日里素不相识的飞友因为有着共同的兴趣而聚集起来,互相认识了解,而成为了朋友。与其说是5个人完成了解谜,不如说是130个人集体智慧的结晶共同完成了这项艰难的任务。


我从解谜的一开始就提到过,“只有交流线索,才能更快地到达终点”。因此我在谜题里刻意地放入了一些仅靠单打独斗很难解决的线索。比如隐藏二进制,没有图像处理软件,你将寸步难行;比如哈希算法和BASE64,如果没有密码学常识,你将无从下手;比如诺基亚上的键盘密码,如果你曾经用过老式手机,你会很快理解我的意图;比如中日通航活动,如果你是国航成员,或者接触过VATSIM,甚至亲自参与过这次活动,你也会很快联想到。一个人总有不足,一个人也总有擅长的方面,一个人的能力是有限的。我曾在活动开始之前把这个谜题交给了我的几个朋友解(他们都没有参与正式解谜,请放心),其中不乏有互联网专业从业者。但很有趣的是,他们没有一个人能在半个月时间内完成谜题,甚至没能进入第三阶段。而我们几百位平凡的你我,只用了45个小时就能彻底攻破这则困难的谜题。这不可谓不伟大。一个人的力量虽然有限,但只有我们团结起来,没有什么难题是无法破解的。经常听到有人说,如今的模飞圈良莠不齐,乌烟瘴气,但我在过去的45个小时内,看到的是团结,互助,友爱的集体氛围,或许这也是模拟飞行这个小圈子所应有的样子。


虚拟国航自从成立以来,就一直致力于构建一个平等、包容、创新的模拟飞行生态。我们希望看到我们的成员能在这里收获技术、收获友情、收获更多一点。或许一次小小的解谜游戏有胜负之分,但我想,其中关于友爱、互助、集体智慧方面的意义,要比谜题本身更多一点。你们都是好样的,我很荣幸能认识可爱的你们。


最后,以本次活动的第一名,CXA2537的获奖感言作总结吧。

http://icrew.virtualcca.org/ganyan.m4a


回复

使用道具 举报

发表于 2019-12-17 18:18:00 | 显示全部楼层

回帖奖励 +10 金币

哇这次的活动我真的是一脸懵逼,看着别的大佬一步一步解出来
回复

使用道具 举报

发表于 2019-12-17 18:18:26 | 显示全部楼层

回帖奖励 +10 金币

我第四(嘻嘻嘻
开心到上天.jpg

点评

厉害呀 我一直卡在进入第四阶段的密码那儿了  发表于 2019-12-17 18:22
回复

使用道具 举报

发表于 2019-12-17 18:21:59 | 显示全部楼层

回帖奖励 +10 金币

哇 活生生被中日活动卡死了 9月份没关注联飞 到处找中日活动也找不到= =
回复

使用道具 举报

发表于 2019-12-17 18:22:28 | 显示全部楼层

回帖奖励 +10 金币

耶稣泡观音 发表于 2019-12-17 18:12
在最后,我还想提一下本次解谜游戏的设计初衷。有人和我说,这次谜题的难度太大,内容太偏向计算机专业,对 ...
脑子根本不够用,,,,,,还是专业不对口。。。。
回复

使用道具 举报

发表于 2019-12-17 18:30:21 | 显示全部楼层

回帖奖励 +10 金币

惹不起惹不起,吃瓜群众默默吃瓜
回复

使用道具 举报

发表于 2019-12-17 18:33:45 | 显示全部楼层

回帖奖励 +10 金币

学电子信息的我看的一头汗卧槽
回复

使用道具 举报

发表于 2019-12-17 18:34:45 | 显示全部楼层

回帖奖励 +10 金币

哇!恭喜各位大佬 说实话楼主大哥应该在活动帖里解释一下扑克牌的问题 因为我们花了一整个礼拜天在思考红桃K的作用 最终卡在了这一关
还有就是我想申请加入国航群找找线索 但是管理员没给我同意(嘤嘤嘤
总之这次的活动非常有意义!我一定支持管理组!希望能有更多的此类活动!
辛苦啦~

点评

这。。。24小时在线的嘛 这么快(hhh  发表于 2019-12-17 18:40
回复

使用道具 举报

发表于 2019-12-17 18:42:30 | 显示全部楼层

回帖奖励 +10 金币

我看完你的解程还是一脸懵逼
回复

使用道具 举报

发表于 2019-12-17 19:44:06 | 显示全部楼层

回帖奖励 +10 金币

很高兴参与这次解谜,一块解的几个也拿到了奖品)虽然上课错过了验证思路的机会不过也超开心hhn
回复

使用道具 举报

发表于 2019-12-17 19:52:19 | 显示全部楼层

回帖奖励 +10 金币

SINOFSX回形针哈哈
回复

使用道具 举报

发表于 2019-12-17 20:14:20 | 显示全部楼层

回帖奖励 +10 金币

对于连photoshop都不会用的人真的是。。。
回复

使用道具 举报

发表于 2019-12-17 20:19:10 | 显示全部楼层

回帖奖励 +10 金币

我反正是看的一头雾水
回复

使用道具 举报

发表于 2019-12-17 20:32:26 | 显示全部楼层

回帖奖励 +10 金币

前段时间才看完回形针的视频
回复

使用道具 举报

发表于 2019-12-17 21:18:46 | 显示全部楼层

回帖奖励 +10 金币

搞这么烧脑!一边默默吃瓜
回复

使用道具 举报

发表于 2019-12-17 21:26:55 | 显示全部楼层

回帖奖励 +10 金币

想看看那个视频
回复

使用道具 举报

发表于 2019-12-17 21:34:14 | 显示全部楼层

回帖奖励 +10 金币

1780回形针说(
没空参与后面的两个阶段太可惜了
回复

使用道具 举报

发表于 2019-12-17 21:41:43 | 显示全部楼层

回帖奖励 +10 金币

本帖最后由 Dreamliner304 于 2019-12-17 21:48 编辑
SDUTAI 发表于 2019-12-17 18:33
学电子信息的我看的一头汗卧槽

学电气过几天考研考控制的,第二名。。。。。别追了,这次大概率考上,至少350
我也理解了1780这样设计的用意,确实挺赞的,当然还是建议可以再加一个要进游戏飞行寻找线索的环节吧。。
我的设想是给出一个航线,途中用树、石头、轿车等设置提示,可能是一些管制指令,可能是一些单词、字眼等线索,具体的话我应该可以研究出来

回复

使用道具 举报

发表于 2019-12-17 21:45:16 | 显示全部楼层

回帖奖励 +10 金币

不得不说解开这题的人真的很厉害。。。
恭喜了。。。看了半天解析也只看懂前面两个,后面的真的看不懂了
回复

使用道具 举报

发表于 2019-12-17 21:48:20 | 显示全部楼层

回帖奖励 +10 金币

呵呵,我只是来看看热闹
回复

使用道具 举报

发表于 2019-12-17 21:55:38 | 显示全部楼层

回帖奖励 +10 金币

吃瓜群众从一开始就不会做
虽然说base64、哈希、ps、au这些我都懂
然而还是不会做
回复

使用道具 举报

发表于 2019-12-17 21:59:45 | 显示全部楼层

回帖奖励 +10 金币

医学生这辈子都别想解开这个了。看这个的过程就像初中看奥赛题,给了我标准答案加解题步骤我还是一头雾水。这啥啥啥啊
回复

使用道具 举报

发表于 2019-12-17 22:16:41 | 显示全部楼层

回帖奖励 +10 金币

吃个瓜,也开心,各位真实厉害了~
回复

使用道具 举报

发表于 2019-12-17 22:46:34 | 显示全部楼层

回帖奖励 +10 金币

确实强悍,智商明显不够,但是完整的看完了解题过程,设计谜题和解开谜题的飞友都非常厉害,佩服你们这些高智商的大佬。
回复

使用道具 举报

发表于 2019-12-17 23:09:15 | 显示全部楼层
Dreamliner304 发表于 2019-12-17 21:41
学电气过几天考研考控制的,第二名。。。。。别追了,这次大概率考上,至少350
我也理解了1780这样设计的 ...

可以可以 加油啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表