「Hackergame 2021」#1 Writup 开局上分篇 0

这篇 Writeup 写一下 Hackergame 2021 里面比较好做的一些题目做法(以及吐槽):
签到、十六进制、电波、猫咪问答、卖瓜、透明文件、旅行照片

开局基本上就靠这些上分了(逃
也都是看上去就知道该怎么做,只是实现的难度不同了(


签到

为了能让大家顺利签到,命题组把每一秒的 flag 都记录下来制成了日记本的一页。你只需要打开日记,翻到 Hackergame 2021 比赛进行期间的任何一页就能得到 flag!

很明确,进入网址后一直点 Next 翻到比赛时间就好了(误

看到了 URI 里有 ?page=...,所以也懒得计算了,手动二分,大概 ?page=1635000000 左右就可以看到 flag 了

赛后才反应过来原来是 UNIX 时间戳


进制十六——参上


也很明确,直接把右侧挡住的 flag 部分对应左边的十六进制数换算成十进制,然后根据 ASCII 码转成字符。或者直接把左侧抄进 Hex Friend 也可以直接得到右侧的flag。

(**当时这题抄串行了两三次……)


去吧!追寻自由的电波

当然,如果只是这样还远远不够。遵依史称“老爹”的上古先贤的至理名言,必须要“用魔法打败魔法”。X 同学向上级申请到了科大西区同步辐射实验室设备的使用权限,以此打通次元空间,借助到另一个平行宇宙中 Z 同学的法力进行数据对冲,方才于乱中搏得一丝机会,将 flag 用无线电的形式发射了出去。

考虑到信息的鲁棒性,X 同学使用了无线电中惯用的方法来区分字符串中读音相近的字母。即使如此,打破次元的强大能量扭曲了时空,使得最终接受到的录音的速度有所改变。

(这题在群里看起来好像卡了很多人,不知道为什么)
题目下载下来是一个听起来杂乱的音频

题里最后说了 “最终接受到的录音的速度有所改变”,所以考虑将音频时间拉长。
最开始使用了 Adobe Audition,但是效果不是很理想,大概是重新采样等一系列算法导致的
所以换了 Adobe Premier Pro 直接用比率拉伸工具拉长音频,还是可以听清的
不断尝试之后,大概放慢三倍左右就可以听出读的是英语单词了

题里说到了 “考虑到信息的鲁棒性,X 同学使用了无线电中惯用的方法来区分字符串中读音相近的字母”,所以就查到了国际航空无线电通讯26个英文字母读法
然后仔细听,辨别每个单词的第一个音就可以得到 flag 了


猫咪问答 Pro Max

五道刁钻的题目,但是还是好查到的,题目里也说了“解出谜题不需要是科大在校学生”

  1. 2017 年,中科大信息安全俱乐部(SEC@USTC)并入中科大 Linux 用户协会(USTCLUG)。目前,信息安全俱乐部的域名(sec.ustc.edu.cn)已经无法访问,但你能找到信息安全俱乐部的社团章程在哪一天的会员代表大会上通过的吗?

看到了 “目前,已经无法访问” 说明这个域名曾经是可以访问的,直接通过互联网的记忆archive.org,查到这个域名的历史存档,随便找一天就可以看到他们官网中的信息安全俱乐部社团章程
其中第一行就写了 “本章程在 2015 年 5 月 4 日,经会员代表大会审议通过。”

所以答案就是 20150504

  1. 中国科学技术大学 Linux 用户协会在近五年多少次被评为校五星级社团?

直接去科大 LUG 官网的 Intro 页面,就可以看到 “于 2015 年 5 月、2017 年 7 月、2018 年 9 月、2019 年 8 月及 2020 年 9 月被评为中国科学技术大学五星级学生社团。”
所以是4次(x
但是怀疑一下为什么没有2021年,因为都是在9月份左右,所以可能是数据没更新,这题4和5都有可能

尝试后得到答案是 5

  1. 中国科学技术大学 Linux 用户协会位于西区图书馆的活动室门口的牌子上“LUG @ USTC”下方的小字是?

这题也简单,直接问科大同学就好了(x
翻了 LUG 的微信公众号和 QQ 官方号,都没啥收获,最后发现官网上有 News。这样的话,如果新启用活动室的话,一定会有一篇新闻稿,搜索“图书馆”得到了「西区图书馆新活动室启用」这篇文章,开篇第一张大图就是门口牌子的照片

所以答案是 Development Team of Library (注意大小写)

  1. 在 SIGBOVIK 2021 的一篇关于二进制 Newcomb-Benford 定律的论文中,作者一共展示了多少个数据集对其理论结果进行验证?

应该没必要搜谷歌学术之类的,直接必应查 “SIGBOVIK Newcomb-Benford” 就可以找到 SIGBOVIK 的这一篇大文章合集,再搜索 Newcomb 就可以看到题目里说的论文了。
全文也不长,只有四页,后两页全是数据的图,数一下,一共有13幅

所以答案是 13

  1. 不严格遵循协议规范的操作着实令人生厌,好在 IETF 于 2021 年成立了 Protocol Police 以监督并惩戒所有违背 RFC 文档的行为个体。假如你发现了某位同学可能违反了协议规范,根据 Protocol Police 相关文档中规定的举报方法,你应该将你的举报信发往何处?

没啥好说的,直接查,答案 /dev/null

然后提交就可以得到flag


卖瓜

题目里比较重要的话就是:

补充说明:当称的数字变为浮点数而不是整数时,HQ 不会认可最终的称重结果。

题目的目的也很明确,用一堆9和一堆6加起来得到20。肯定不能像华强一样劈瓜,所以输入一定是整数
那就可以考虑溢出
但是经过尝试,给的数字太大,就会使结果溢出到浮点数,这不是想要的(因为即使凑到了20.0也不正确)

那如果数字再大呢,比如 2000000000000000000(18个0)个9斤的瓜,可以发现,这时直接溢出到了负整型 -446744073709551616
再补上 49638230412172000 个9斤的瓜就可以得到 -3616,加上20可以被6整除,所以再加上606个6斤的瓜就可以得到 20

恭喜你逃过一劫!华强~华强!


透明的文件

一个透明的文件,用于在终端中展示一个五颜六色的 flag。

可能是在 cmd.exe 等劣质终端中被长期使用的原因,这个文件失去了一些重要成分,变成了一堆乱码,也不会再显示出 flag 了。

注意:flag 内部的字符全部为小写字母。

拿到文件,看到里面好多 [ ; m 之类的,再结合终端中输出带颜色文字的 \033[...m; 之类的方法,以及题目中的 “失去了一些重要成分
所以直接尝试把 [ 全局替换为 \033[,然后复制到 python 中 print,就可以看到神奇的一幕了(其实并没完全做完,但是可以已经看了)

然后读出 flag 即可(全是小写字母)


旅行照片

你的学长决定来一场说走就走的旅行。通过他发给你的照片来看,他应该是在酒店住下了。

从照片来看,酒店似乎在小区的一栋高楼里,附近还有一家 KFC 分店。突然,你意识到照片里透露出来的信息比表面上看起来的要多。

请观察照片并答对全部 5 道题以获取 flag。注意:图片未在其他地方公开发布过,也未采取任何隐写措施(通过手机拍摄屏幕亦可答题)。

“手机拍摄屏幕亦可答题”,所以照片中没有任何地址的元信息,只能靠看图
线索:海边、KFC、高楼、大石头、停车位

先看那个KFC,大概是个网红店,所以搜索 “网红 海边 KFC”,查到了秦皇岛,而且也是海边
再进一步看地图和街景地图就可以确定地点在 秦皇岛新澳海底世界

然后是5个问题

该照片拍摄者的面朝方向为:

根据地图,对比一下就可以得到,面朝方向是 东南

该照片的拍摄时间大致为:

根据选项里的时间,下午是两点半左右,而在东北的两点半左右其实和中午差不多,影子和光温也不太像这个样子,所以可以确定时间大致是 傍晚

该照片的拍摄者所在楼层为:

不好确定,但是答案可以交很多次,所以从9层左右依次试就可以了,最后得到楼层是 14

该照片左上角 KFC 分店的电话号码是:

直接用地图软件搜 “秦皇岛新澳 KFC” 就可以查到那家店铺,也给了电话,或者搜索 ”网红 海边 KFC“ 也可以直接得到电话:0335-7168800

该照片左上角 KFC 分店左侧建筑有三个水平排列的汉字,它们是:

通过街景地图就可以看到 KFC 左边的建筑上写了 海豚馆


看来写了不少了,剩下的简单题放到下一篇里_(:з」∠)_

Reference

「Hackergame 2021」#1 Writup 开局上分篇 0

https://blog.tonycrane.cc/p/fd872e78.html

作者

TonyCrane

发布于

2021-10-29

更新于

2021-10-30

许可协议