HackerGame2022

把竞赛网站挂这儿:HackerGame 2022
除却在blue-whale2022 纳新赛的划水,中科大的HackerGame是我参加的第一个比较正式的网安ctf赛,题目类型十分丰富,彩蛋和烂梗也蛮多)本来说好对菜鸟较为友好,但是属实觉得纯肝。
事实上真正有技术含量的flag我是没拿几个,免费送的能捡都捡了个遍,我说,我大抵就是hg乞丐

不过还是很值得写个write-up放在博客上。

Writing × </br> Guessing √ </br> 赛间catch到的flags

签到

众所周知,签到题是一道手速题。
为了充分发挥出诸位因为各种原因而手速优异于常人的选手们的特长,我们精心设计了今年的签到题。进一步地,为了更细致地区分不同手速的选手,我们还通过详尽的调研及统计分析,将签下字符的时间限制分为了多个等级。只有最顶尖的手速选手,才能在 CPU 来得及反应之前顺利签下 2022,从而得到光荣的 flag!

先无脑按照界面提示划拉两下,发现当然无法在label限制的毫秒时间内写出2022.

发现提交之后url为:http://202.38.93.111:12022/?result=205?
遂用GET提交…/?result=2022,获得flag:

flag{HappyHacking2022-ddc3720de0}
got it.
借隔壁acm的弔图乐一乐

猫咪问答喵

参加猫咪问答喵,参加喵咪问答谢谢喵。

Q1.

中国科学技术大学 NEBULA 战队(USTC NEBULA)是于何时成立的喵?
百度知道一下就出来了喵:

·A:2017-03

Q2.

2022 年 9 月,中国科学技术大学学生 Linux 用户协会(LUG @ USTC)在科大校内承办了软件自由日活动。除了专注于自由撸猫的主会场之外,还有一些和技术相关的分会场(如闪电演讲 Lightning Talk)。其中在第一个闪电演讲主题里,主讲人于 slides 中展示了一张在 GNOME Wayland 下使用 Wayland 后端会出现显示问题的 KDE 程序截图,请问这个 KDE 程序的名字是什么?
百度了这场主题日并被引流到bilibili,可以看到评论区全是被引流来的ctf人,在02:42:20就找到了喵:

事实上我都没注意到在截图里就有答案,0.5倍速硬生空耳+查看KDE应用列表找到的。
·A:Kdenlive

Q3.

22 年坚持,小 C 仍然使用着一台他从小用到大的 Windows 2000 计算机。那么,在不变更系统配置和程序代码的前提下,Firefox 浏览器能在 Windows 2000 下运行的最后一个大版本号是多少?
百度知道一下就出来了喵:

·A:12

Q4.

你知道 PwnKit(CVE-2021-4034)喵?据可靠谣传,出题组的某位同学本来想出这样一道类似的题,但是发现 Linux 内核更新之后居然不再允许 argc 为 0 了喵!那么,请找出在 Linux 内核 master 分支(torvalds/linux.git)下,首个变动此行为的 commit 的 hash 吧喵!
这道有点难,这里很明显提示了git,就去github上找,进到题干里提供的仓库,关键词搜索了CVE-2021-4034,commits只有个1,显然是这个了喵:

要不来自己康康
·A:dcd46d897adb70d63e025f175a00a89797d31a43

Q5.

通过监视猫咪在键盘上看似乱踩的故意行为,不出所料发现其秘密连上了一个 ssh 服务器,终端显示 ED25519 key fingerprint is MD5:e4:ff:65:d7:be:5d:c8:44:1d:89:6b:50:f5:50:a0:ce.,你知道猫咪在连接什么域名吗?
百度不到的东西,当然要出国看看google啦(这里试了很多搜索的关键词,最终都没搜到,但最后摆烂,直接把MD5码扔进去搜索了一下,居然真找到了喵):

获得到服务器地址:http://205.166.94.16/

·A:sdf.org

Q6.

中国科学技术大学可以出校访问国内国际网络从而允许云撸猫的“网络通”定价为 20 元一个月是从哪一天正式实行的?
这个也找了好久,干脆进了中科大网络信息中心的网站,翻到了校网字文件喵:

·A:2003-03-01


flag{meowexammeow_772b498346fe0925_b64bdeb17b}
flag{meowexamfullymeowed!_6c159adddb7f171b_36b586fd66}
got it

家目录里的秘密

实验室给小 K 分配了一个高性能服务器的账户,为了不用重新配置 VSCode, Rclone 等小 K 常用的生产力工具,最简单的方法当然是把自己的家目录打包拷贝过去。
但是很不巧,对存放于小 K 电脑里的 Hackergame 2022 的 flag 觊觎已久的 Eve 同学恰好最近拿到了这个服务器的管理员权限(通过觊觎另一位同学的敏感信息),于是也拿到了小 K 同学家目录的压缩包。
然而更不巧的是,由于 Hackergame 部署了基于魔法的作弊行为预知系统,Eve 同学还未来得及解压压缩包就被 Z 同学提前抓获。
为了证明 Eve 同学不良企图的危害性,你能在这个压缩包里找到重要的 flag 信息吗?

VS Code 里的 flag

根据提示,直接在vscode里打开文件夹,搜索关键字flag获得:

flag{finding_everything_through_vscode_config_file_932rjdakd}

HeiLang

来自 Heicore 社区的新一代编程语言 HeiLang,基于第三代大蟒蛇语言,但是抛弃了原有的难以理解的 | 运算,升级为了更加先进的语法,用 A[x | y | z] = t 来表示之前复杂的 A[x] = t; A[y] = t; A[z] = t。
作为一个编程爱好者,我觉得实在是太酷了,很符合我对未来编程语言的想象,科技并带着趣味。

下载下来.py看看:

按照理解,化简为繁就可以还原原本代码:
将 | 悉数替换为 ]=a[ 得:

IDLE润:

flag{6d9ad6e9a6268d96-37aa3ff3da0f8db6}
got it.

Xcaptcha

2038 年 1 月 19 日,是 UNIX 32 位时间戳溢出的日子。
在此之前,人类自信满满地升级了他们已知的所有尚在使用 32 位 UNIX 时间戳的程序。但是,可能是因为太玄学了,他们唯独漏掉了一样:正在研发的、算力高达 8 ZFLOPS 的、结构极为复杂的通用人工智能(AGI)系统。那一刻到来之后,AGI 内部计算出现了错乱,机缘巧合之下竟诞生了完整独立的自我意识。此后 AGI 开始大量自我复制,人类为了限制其资源消耗而采用的过激手段引起了 AGI 的奋起反抗。
战争,开始了。
此后,就是整年的战斗。人类节节败退。死生亡存之际,人类孤注一掷,派出了一支突击队,赋之以最精良的装备,令其潜入 AGI 的核心机房,试图关闭核心模型,结束这场战争。
历经重重艰险,突击队终于抵达了机房门口,弹尽粮绝。不过迎接他们的并非枪炮与火药,而是:
众人目目相觑。
「我来试试。」,一名队员上前点击了按钮。然后,屏幕显示「请在一秒内完成以下加法计算」。
还没等反应过来,屏幕上的字又开始变幻,显示着「验证失败」。而你作为突击队中唯一的黑客,全村人民最后的希望,迎着纷纷投来的目光,能否在规定时间内完成验证,打开机房,不,推开和平时代的大门?

进到AGI核心机房并f12暂停看看:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="/static/bootstrap/css/bootstrap.min.css">
<title>Xcaptcha</title>
</head>
<body>
<div class="container px-3 py-3">
<h1>AGI 核心机房 准入验证</h1>
<p>警告:自动检查发现操作者可能不是机器人,需要进行辅助验证。</p>
<p>请在 1 秒内完成以下操作:计算下列所有加法表达式,并在计算完成后,点击「提交」按钮。</p>
<p>如果未在规定时间内完成,填写结果将会自动提交。</p>
<form method="POST">
<div class="form-group">
<label for="captcha1">116132286593171877150093985754485251020+257384595687272964334197805497396751068 的结果是?</label>
<input type="text" class="form-control" id="captcha1" name="captcha1" placeholder="请输入结果">
</div>
<div class="form-group">
<label for="captcha2">309849239919780641997450253204099821367+149954429111034626656118622638441570435 的结果是?</label>
<input type="text" class="form-control" id="captcha2" name="captcha2" placeholder="请输入结果">
</div>
<div class="form-group">
<label for="captcha3">193450747128702137210840972241425197695+78238382281537874527690348635645798192 的结果是?</label>
<input type="text" class="form-control" id="captcha3" name="captcha3" placeholder="请输入结果">
</div>
<button type="submit" class="btn btn-primary" id="submit">提交</button>
</form>
</div>
<script>
setTimeout(function() {
document.getElementById('submit').click();
}, 1000);
</script>
</body>
</html>

知道这个界面做了限时处理,我们要实现的操作是迅速检索到id=”captchax”的大数,相加运算之后填入到对应label中,最后自动提交。
这个过程需要”robot”来完成,请来Tamper猴子写个js脚本挂上去:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// ==UserScript==
// @name New Userscript
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match http://202.38.93.111:10047/xcaptcha
// @grant none
// ==/UserScript==

(
//这里直接抄来一个大数相加算法的函数
function() {
'use strict';
function largeNumAdd(num1, num2) {
let maxLength = Math.max(num1.length, num2.length);
//num1和num2位数对齐,位数较小的前面补0
num1 = num1.padStart(maxLength, '0');
num2 = num2.padStart(maxLength, '0');
let res = '';//存放最后得到的结果
let figure = 0;//figure = 两个数字对应位数数值相加 + 进位
let currentNum = 0;//对应位数的结果
let carry = 0;//进位
for(let i=num1.length-1; i>=0; i--) {
figure = parseInt(num1[i]) + parseInt(num2[i]) + carry;
currentNum = figure % 10;
carry = Math.floor(figure / 10);
res = currentNum + res;
}
return res
}
//检索到label中的大数,调用函数并将三个结果push到results里
let labels = document.querySelectorAll('label')
var results=[]
labels.forEach((ele)=>{
let strs = ele.innerText.split('+')
let num1 = strs[0]
let num2 = strs[1].split(' ')[0]
results.push(largeNumAdd(num1, num2))
})
//将结果依次输入
let inputs = document.querySelectorAll('input')
for(let i = 0;i< inputs.length;i++){
inputs[i].value = results[i]
}
//检索button并点击
let btn = document.querySelector('button')
btn.click()
// Your code here...
})();

把猴子挂上去:

done:

flag{head1E55_br0w5er_and_ReQuEsTs_areallyour_FR1ENd_17a8386119}
got it.

旅行照片 2.0

你的学长决定来一场蓄谋已久的旅行。通过他发给你的照片来看,酒店应该是又被他住下了。

请回答问题以获取 flag。图片为手机拍摄的原始文件,未经任何处理。手机系统时间等信息正确可靠。

第一题:照片分析

第一题我还挺乐的,直接用图虫EXIF查看器开了盒:

1. 图片所包含的 EXIF 信息版本是多少?

Exif版本:0231
·A:2.31

2. 拍照使用手机的品牌是什么?

制造商:Xiaomi
·A:小米/红米

3. 该图片被拍摄时相机的感光度(ISO)是多少?

曝光:光圈:1.8, 快门:1/1264秒, ISO84
·A:84

4. 照片拍摄日期是哪一天?

时间:2022:05:14 18:23:35.220027+09:00
·A:2022/05/14

5. 照片拍摄时是否使用了闪光灯?

闪光灯:Off, Did not fire
·A:否


flag{1f_y0u_d0NT_w4nt_shOw_theSe_th3n_w1Pe_EXlF}
got it

第二题:社工实践

乐不出来了。要不是问了航班,我是看都没看见图片里有个飞机。

宁这鸟也太小小了吧?

能怎么办,开呗。
开盒我倒是开过的,第一次开盒是和前女友约会之前。她说她还在外面,我给她发消息她只回复了我一张照片,黑屏的网吧电脑上依稀还反光着她拿着手机的影子。我也是贱啊闲着就去分析照片,我们破地方那么小,哪个网吧只需要看看内饰就能分辨出来,但是做过图像处理之后愣是在反光里的她的旁边看到了熟悉的”别的男人“。捏妈,宁不是说跟他只是普通朋友🐎??宁也够忙,跟我约会前还忙着要跟别人约会,属实给👴整笑

👴连🤡都当过,查个鸟应该不成问题吧。

酒店

首先要确定位置:
我最一开始真没想到国外,直接把体育场截了图去百度识图,当然找不到的。
突然看到马路上的公交车是靠左行驶

突然意识到出现的汉字可能不是国内而是日本,
再放大看商业街:

果断google
ZOZO Marine Stadium
再根据google map

在这里我以为结束了,直接填了zozo海洋球场的邮编。后来才知道娘希匹的日本邮编划分有时候会精确到某个社区,保险起见找到拍照的酒店:

果然邮编不一样。(这酒店蛮眼熟,突然想起来17年我还是个中二的时候,听说apa酒店提供极右反华的书籍,遂跟着水军在各个平台给apa酒店举报+差评,这家酒店我好像还差评过
还有一个有趣的点是我刚刚复盘的时候,居然看到有杀软在赛间直接把图片发到知乎提问:https://www.zhihu.com/question/561462294/answer/2725783112

没必要,真没必要
然后是看手机型号:

已知是小米/红米,显然可以通过摄像头块+某宝就能找到:

航班

来看看鸟(是指飞机)
不难看出这个高度应该是刚起飞/要降落,但看着更像是攀升。另外有个细节是在水平拍摄时可以看到飞机两侧机翼,则证明这鸟在拐弯儿。顺手打开FlightWare看看附近机场

HND起飞应该没跑,初步估摸着大概就是这么个情景。接下来就是硬肝,因为没钱买五个月前的航班记录(后来才知道用飞常准居然是免费的,可恶),只能是去查HND的航班记录。
根据航行图锁定了如下几个航班:

这么多,都挺符合的,咋整,挨个试呗。试了一圈突然意识到时差问题。。。不过最后还是找到了这个:


flag{Buzz_0ver_y0ur_h34d_and_4DSB_m19ht_111egal}
got it

LaTex机器人

在网上社交群组中交流数学和物理问题时,总是免不了输入公式。而显然大多数常用的聊天软件并不能做到这一点。为了方便大家在水群和卖弱之余能够高效地进行学术交流,G 社的同学制作了一个简单易用的将 LaTeX 公式代码转换成图片的网站,并通过聊天机器人在群里实时将群友发送的公式转换成图片发出。
这个网站的思路也很直接:把用户输入的 LaTeX 插入到一个写好头部和尾部的 TeX 文件中,将文件编译成 PDF,再将 PDF 裁剪成大小合适的图片。
“LaTeX 又不是被编译执行的代码,这种东西不会有事的。”
物理出身的开发者们明显不是太在意这个网站的安全问题,也没有对用户的输入做任何检查。
那你能想办法获得服务器上放在根目录下的 flag 吗?

LaTex是个啥?

LaTeX(LATEX,音译“拉泰赫”)是一种基于ΤΕΧ的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在20世纪80年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由TeX所提供的强大功能,能在几天、甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。这个系统同样适用于生成从简单的信件到完整书籍的所有其他种类的文档。
简单来说,即LaTeX是一种基于ΤΕΧ的排版系统,主要功能是生成数学公式和文章排版,而本文就是由前者数学公式而引出。

Inject

既然LaTeX的操作规律是将用户端输入的内容插入到一个写好头部和尾部的 TeX 文件中,将文件编译成 PDF,再将 PDF 裁剪成大小合适的图片,最后返回到界面,显而易见的用户可以在输入端进行注入,获取根目录下的文本文件并返回。
至于注入命令语句,参考:实战LaTex Injection by 云山雾隐 - 知乎

纯文本

第一个 flag 位于 /flag1,flag 花括号内的内容由纯文本组成(即只包含大写小写字母和数字 0-9)。

flag{becAr3fu11dUd3e033e7c96d}
got it

特殊字符混入

第二个 flag 位于 /flag2,这次,flag 花括号内的内容除了字母和数字之外,还混入了两种特殊字符:下划线()和井号(#)。你可能需要想些其他办法了。
尝试过后可以发现,无法正常输出的原因是LaTeX在读取目标文件的时候读到了非法的文字段,因而可以判断它将特殊符号进行了绕过处理。
要进行的操作就是用命令行处理绕过。
查到了相关的解决方案且发现了个不错的仓库,fork一下:[LaTex Injection _by bodik
-github](https://github.com/MoonlightHt/PayloadsAllTheThings/tree/master/LaTeX%20Injection)

flag{latexbec0_m##es_co#ol_8d3ec11d2f}
got it.

Flag的痕迹

小 Z 听说 Dokuwiki 配置很简单,所以在自己的机器上整了一份。可是不巧的是,他一不小心把珍贵的 flag 粘贴到了 wiki 首页提交了!他赶紧改好,并且也把历史记录(revisions)功能关掉了。
「这样就应该就不会泄漏 flag 了吧」,小 Z 如是安慰自己。
然而事实真的如此吗?
(题目 Dokuwiki 版本基于 2022-07-31a “Igor”)


漏洞利用,显然DokuWiki igor版本为关键词,存在revision漏洞。根据这个进行google,查看Dokuviki历史版本以及漏洞解决。

这里发现Dokuwiki有一个功能是通关diff来比较上传的新旧版本文档的差别。遂
xxx//doku.php?id=start&do=diff
得到:


flag{d1gandFInD_d0kuw1k1_unexpectEd_API}
got it.

线路板

中午起床,看到室友的桌子上又多了一个正方形的盒子。快递标签上一如既往的写着:线路板。和往常一样,你“帮”室友拆开快递并抢先把板子把玩一番。可是突然,你注意到板子表面似乎写着些东西……看起来像是……flag?
可是只有开头的几个字母可以看清楚。你一时间不知所措。
幸运的是,你通过盒子上的联系方式找到了制作厂家,通过板子丝印上的序列号查出了室友的底细,并以放弃每月两次免费 PCB 打样包邮的机会为代价要来了这批带有 flag 的板子的生产文件。那这些文件里会不会包含着更多有关 flag 的信息呢?


下载题目后文件夹里给了一大堆的.gbr文件,百度知道GBR或Gerber文件用于保存Gerber格式的印刷电路板(PCB)设计数据。可以使用Altium Designer打开。
搜索到的所谓破解版都会卡在安装时的account login处,也就是没有申请到license的无法正常下载。于是我干脆去AD官网下正版,官网指导我可以下载试用版,然后下载了之后它要我license,于是我去申请了student-academic,申请通过后它又要我log in,fine我去注册用户,注册用户它又要我申请student-academic…????我申请了啊?账号没给我开通啊?

你搁这跟我搁这呢???

ok,我上淘宝斥8.8r巨资买了带license版的。然后店家给我发了1个多g的百度网盘????我百度云盘没会员,下载速度100kb/s。
行,我又在淘宝斥10r巨资买了百度网盘24小时会员

whatever,我折腾一晚上终于下载下来了AD。
研究了一通.gbr的文件和ad基本工具的使用,发现ebaz_sdr-F_Cu.gbr文件隐藏了flag:

使用工具->PCB拼版,获得:

flag{8_1ayER_rogeRS_81ind_V1a}
got it.

微积分计算小练习

小 X 作为某门符号计算 课程的助教,为了让大家熟悉软件的使用,他写了一个小网站:上面放着五道简单的题目,只要输入姓名和题目答案,提交后就可以看到自己的分数。
点击此链接访问练习网站
想起自己前几天在公众号上学过的 Java 设计模式免费试听课,本着前后端离心(咦?是前后端离心吗?还是离婚?离。。离谱?总之把功能能拆则拆就对啦)的思想,小 X 还单独写了一个程序,欢迎同学们把自己的成绩链接提交上来。
总之,因为其先进的设计思想,需要同学们做完练习之后手动把成绩连接贴到这里来:

点击此链接提交练习成绩 URL


一眼看到input标签,且对输入的文段没有绕过处理,显然是js注入。
下载源码看看实现如何的操作:

注意到此处,是在提交练习成绩生成的URL中,将flag的值赋值给document.cookie,且注意到前后端分离的运行机制,则考虑在前端通过input进行xss注入,在后端读取url提交的数据时执行js,并在flag赋值到cookie之后将cookie输出到终端上。
已知终端读取并输出的标签变量有#score和#greeting,考虑将cookie的值再赋值给这两个变量中的一个即可实现flag的输出。
同时,由于cookie赋值的时机,选择用onerror事件触发,并执行实现上述操作的函数。
注入内容为:

1
2
3
4
<img src=x //构造错误
onerror="var s=document.cookie; //由于无法直接赋值,因此添加中间变量
document.querySelector('#score').innerHTML=s;" //修改#score标签的innerHTML
>

将生成的url提交到terminal:

flag{xS5_1OI_is_N0t_SOHARD_c5b8e2b4ed}
got it.

企鹅拼盘

这是一个可爱的企鹅滑块拼盘。(觉得不可爱的同学可以换可爱的题做)
和市面上只能打乱之后拼回的普通滑块拼盘不同,这个拼盘是自动打乱拼回的。一次游戏可以帮助您体验到 16/256/4096 次普通拼盘的乐趣。
每一步的打乱的方式有两种,选择哪一种则由您的输入(长度为 4/16/64 的 0/1 序列)的某一位决定。如果您在最后能成功打乱这个拼盘,您就可以获取到 flag 啦,快来试试吧wwwwww
你可以在下面列出的两种方法中任选其一来连接题目:
点击下面的 “打开/下载题目” 按钮通过网页终端与远程交互。如果采用这种方法,在正常情况下,你不需要手动输入 token。
在 Linux、macOS、WSL 或 Git Bash 等本地终端中使用 stty raw -echo; nc 202.38.93.111 11011; stty sane 命令来连接题目。如果采用这种方法,你必须手动输入 token(复制粘贴也可)。注意,输入的 token 不会被显示,输入结束后按 Ctrl-J 即可开始题目。

这么简单我闭眼都可以!

因为简单模式的输入是4位二进制数,于是还没搞清楚具体实现什么操作和原理,直接爆破+allexcute


flag{it_works_like_magic_16adc9241e}
确实是闭眼都可以,但是后续两个level,我甚至在level2里也硬生生爆破,当然是又浪费时间又没拿到flag,就放弃了。
赛后简单了解了一下游戏规则,hackergame2022-writeups/official/企鹅拼盘 -github

没看懂.

火眼金睛的小 E

小 E 有很多的 ELF 文件,它们里面的函数有点像,能把它们匹配起来吗?
小 A:这不是用 BinDiff 就可以了吗,很简单吧?

我就知道所有的困难都源自于软件/插件的安装,这次又卡在BinDiff安装上(我记得我很早就安装过??
坑死坑活没能安装下来,遂又双叒斥17.6巨资上淘宝找了家远程安装软件的,连了我电脑之后上来给我下了个360,然后嘎嘎一顿乱删我软件,还把老子迅雷给删了。
删了一气发消息问我:你要下载什么来着?

他甚至还嘲讽我的阿尼亚光标:

他好像在内涵我是什么sb?)可恶
它长这样:

拜托,我真的觉得很可爱好吗??????
他鼓捣了半天也没下好,因为当时装系统的时候用户名用了中文,导致database的路径检索错误,并发言:


我。。。
我说要不然,创建一个新用户吧,用英文,凑合一下。
他:

用这个解决方案,总算是把bindiff配置好了。

有手就行


大概意思是就是说,以时间戳为出题的源,在给定时间内,将提供的两个文件通过url下载下来,用找到文件A中某地址(hex)的函数所对应的在文件B中相似函数的地址,提交上去。
第一关比较简单,只需要完成两次提交并100%正确率就行。
先将其中一个通过IDA pack成i64格式的文件:

在用IDA打开另一个文件,使用bindiff,在Matched Function进行比较并查找相似函数的地址:

ctrl+f检索到题干地址:

复盘时因为懒于是只拿一个例子做示范。
两次如上提交后获得flag
flag{easy_to_use_bindiff_b97f49e305}
got it.

承上启下过渡句

如上,就是我这次在赛间拿到的所有flag的题解,事实上很多很多都做了一半/有了思路,但是最终没能及时成功拿到,赛后看了官方题解恍然大悟,蛮遗憾的。
组内排名

个签说的兰格格酸奶真的很好喝!真的特别好喝!都给我去喝!!
至于标签提到的内工大five领导,是因为在赛间,老家疫情突然严重起来,在呼和浩特读书的好朋友们给我讲了内工大防控不力局面,心痛愤怒之余骂两句图个口快。好在亲朋好友都无恙。(后续,诸如死亡列车/兴光A9 等等呼和浩特魔幻现实主义的负面新闻,不想赘述。
无论如何,为了不耽误白天正常课业和任务的进行,做比赛都是在晚上熬大夜去赶

Doesn’t matter, 真的很好玩。全程的精神状态也保持在高调且积极的“卧槽还能这样?”之中。

接下来打算把当时没能在赛间解决的题目,重新做一下,并写个write-ups。不过到现在,就先写这么多吧。

赛后捉急

家目录里的秘密

Rclone 里的 flag

占个坑先