USTC Hackergame 2022 WriteUp

Last updated on August 22, 2023 pm

前言

  1. 就第一天打了,最高到过59名,之后就摆烂了;
  2. 密码学学了,没有数学基础,没法拿来解题,Binary 完全不熟,Web 也一知半解,最后全是些常识/搜索题做完了;
  3. 咱思路上偏向 CCBC 那种 Cipher,没有这么硬核的知识积累;
  4. 等会我这都能367名的?
  5. 官方题解弯路多 & 懒人改变世界(
  6. General题多用搜索少实验,能出出来的基本都有人发现了(
  7. 成绩:1250, 总排名:367 / 2746 ;binary:0 , general:900 , math:0 , web:350 ;

WriteUp

签到

试图提交可见提交的是一个查询 URL,?result=????,直接替换为 2022 可得解:
flag: flag{HappyHacking2022-5f76909eaa}

猫咪问答喵

搜索可解题:

  • 文章,结尾 2017-03
  • 所提到的那个Slide,在 Page 15 上的 Kdenlive
  • 13 的系统要求,所以最后一个大版本只能是 12 了;
  • 那个 Commit,ID 是 dcd46d897adb70d63e025f175a00a89797d31a43;比较便于寻找的路径是从 Kernel 邮件维护者列表里去搜索,确定文件和对应时间 后上 GitHub 看相关 Source;
  • 这个真有点迷糊,开始以为是能解码,后来想想 MD5 也没法逆向啊……然后直接全文搜索 Key Fingerprint,找到了一个文档,里面的 log 有已知的 IP 205.166.94.16,反查得到 sdf.org
  • 更是 tm 曲径通幽处。常见问题解答 可知这个官方文件的标题,搜索得到下发通知,知道前序版本的编号“网字〔2003〕1 号”,信息中心查找可得该文件2003-03-01 开始实行。

flag1: flag{meowexammeow_772b498346fe0925_f1b0950663}
flag2: flag{meowexamfullymeowed!_6c159adddb7f171b_31f78ef8c6}

家目录里的秘密

RClone: 配置文件位于 user/.config/rclone/rclone.confpass 字段为 RClone Obscure 后的字符串,使用 rclone reveal 解密即可(此处针对官方题解不看 man 自己写实现特别加粗)。

flag1: flag{get_rclone_password_from_config!_2oi3dz1}

VSCode: user/.config/Code/User/History/2f23f721/DUGV.c 下第五行可得明文 flag。

flag2: flag{finding_everything_through_vscode_config_file_932rjdakd}

HeiLang

其实不用一句话变成好几个语句——本来 Python 就允许连续赋予。将 A[x | y | z] = t 变成 A[x] = A[y] = A[z] = t ,即 | 变为 ] = A[ 即可。

flag: flag{6d9ad6e9a6268d96-dbc3142525eed29f}

旅行照片

EXIF

使用 exiftool 查看所有 EXIF 信息,按问题相关的排列如下:

1
2
3
4
5
Exif Version                    : 0231
Make : Xiaomi
ISO : 84
Date/Time Original : 2022:05:14 18:23:35
Flash : Off, Did not fire

flag: flag{1f_y0u_d0NT_w4nt_shOw_theSe_th3n_w1Pe_EXlF}

社工

  1. 充分发掘已有 EXIF 信息,发现
    1
    Offset Time                     : +09:00
    证明时区为 UTC+9,但中国时区并未有该可能性,参照第一题标准答案格式可得拍摄地点绝对不在中国境内。对应拍摄时间为五月下午 6 时左右接近日落,靠海+六时后依然未日落,容易确定是日本。
  2. 搜图可得,照片中位置是 ZOZO海洋球场,结合卫星图可得,满足图片中拍摄条件的仅有“APA HOTEL& RESORT TOKYO BAY MAKUHARI”,其日式邮政编码为 261-0021
    Google Map
  3. 从 EXIF 得,
    1
    2
    Make                            : Xiaomi
    Camera Model Name : sm6115 (juice)
    手机厂商为 Xiaomi,代号为 juice,查询可得型号为 Redmi 9T / 9 Power / 9 4G 或者 POCO M3,图片中闪光灯在相机模组底部,排除 POCO M3,查询参数得分辨率为 1080x2340
  4. 这个怪我,没有 ADS-B 社区常识,没有找到最后的路线。

另外赛后题解出现了几道 Open Question,答案如下:

  1. 按提示查找 ZOZO 球场相关活动信息,可得活动是 Bandai Namco Entertainment Festival 2nd,由国际直播站的存档可得 JST 下午 15:30 开场,由节目列表大致推得当时曲目(我就不推了);
  2. 酒店仅可能是 APA,其他酒店高度不满足拍照要求。利用圆到椭圆的透视规律可大致判断楼层高度;
  3. 飞机不会,靠大家了(

LaTeX 机器人

  1. 使用 \input{/flag1} 即可获得,注意大括号因为特殊识别消失了,需要自己补上;
  2. \input{} 不可行可以 \detokenize 嘛,自己实验一下就可以得出了;

Flag 的痕迹

搜索可知 Dokuwiki 的 Bug:在 URL 后加 &do=diff 即可打开 Revisions,即使 Revisions 未被启用

flag: flag{d1gandFInD_d0kuw1k1_unexpectEd_API}

线路板

打开所给的 Gerber 文件,通过 D 码寻找到 flag 上叠加的同色圆圈,透色即可得到 flag。
PCB

flag: flag{8_1ayER_rogeRS_81ind_V1a}

总结 & 反思

虽然我等于没做,但依然不妨碍我看排行榜上其他人挣扎(

思路接近没做出来的

  1. 蒙特卡洛轮盘赌:看出来rand问题了,写了一段小程序暴力轰炸一个时间段内所有可能的第一解(没学过C丝毫不妨碍我10秒学会 printf() ):
    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <string.h>

    double rand01()
    {
    return (double)rand() / RAND_MAX;
    }

    int main()
    {
    // disable buffering
    setvbuf(stdin, NULL, _IONBF, 0);
    setvbuf(stdout, NULL, _IONBF, 0);
    setvbuf(stderr, NULL, _IONBF, 0);

    for(int clock = 1666442000; clock < 1666443000; clock++){
    srand(clock);
    int M = 0;
    int N = 400000;
    for (int j = 0; j < N; j++) {
    double x = rand01();
    double y = rand01();
    if (x*x + y*y < 1) M++;
    }
    double pi = (double)M / N * 4;
    printf("%d - %f\n", clock, pi);
    }
    }
    但就是!结果不匹配!永远只能赌对第一个,赌不对接下来的,完全不知道为什么;
  2. XZRJ:代码补全之后看出了 secret 有问题,然后就懒得去爆破了(趴);

其他吐槽

  1. 我高中生是不是不太适合这么做题,math 完全没有打开的勇气(根本没有相关基础……);
  2. 一些非常简单的题却并没有多少解,可能是有点 CTF-Intensive 了不太注意其他?
  3. 好玩www,之后要恶补 Binary 了,数学等我高中复习完了再说(

USTC Hackergame 2022 WriteUp
http://elfile4138.moe/2022/10/USTC-Hackergame-2022/
Author
Matrew File
Posted on
October 29, 2022
Updated on
August 22, 2023
Licensed under