小熊の小站

Try my best.

USTC Hackergame 2022 Writeup

Littlebear0729's Avatar 2022-10-29 学习记

  1. 1. 签到
  2. 2. 猫咪问答
    1. 2.1. 第一题
    2. 2.2. 第二题
    3. 2.3. 第三题
    4. 2.4. 第四题
    5. 2.5. 第五题
    6. 2.6. 第六题
  3. 3. 家目录里的秘密
    1. 3.1. VS Code 里的 flag
    2. 3.2. Rclone 里的 flag
  4. 4. HeiLang
  5. 5. Xcaptcha
  6. 6. 旅行照片 2.0
    1. 6.1. 照片分析
    2. 6.2. 社工实践
  7. 7. 猜数字
  8. 8. Latex 机器人
    1. 8.1. 纯文本
    2. 8.2. 特殊字符混入
  9. 9. Flag的痕迹
  10. 10. 线路板
  11. 11. Flag自动机
  12. 12. 微积分计算小练习
  13. 13. 光与影
  14. 14. 你先别急

今年的题更变态了…今年比较忙,时间也很少,难题就没有死磕。现在想来即使死磕应该也做不出来了…

最后成绩是341/2746,算是前13%吧。下面题目标斜体的是看了,有思路,但是没做出来的。

看完了题解,感慨一下,真是应了原来那个小故事:按按钮就要一块钱,但是知道在哪按按钮要9999元。

签到

瞎点摸索,直接提交,说要2022

观察url是????改成2022即可

猫咪问答

第一题

https://cybersec.ustc.edu.cn/2022/0826/c23847a565848/page.htm

2017-03

第二题

https://lug.ustc.edu.cn/news/2022/09/SFD/

https://ftp.lug.ustc.edu.cn/%E6%B4%BB%E5%8A%A8/2022.9.20_%E8%BD%AF%E4%BB%B6%E8%87%AA%E7%94%B1%E6%97%A5/slides/gnome-wayland-user-perspective.pdf

Kdenlive

第三题

https://support.mozilla.org/bm/questions/1052888

https://www.betaarchive.com/forum/viewtopic.php?t=34790

搜索firefox windows 2000 support

12

第四题

github找到linux的repo,然后直接搜索cve号

https://github.com/torvalds/linux/commit/dcd46d897adb70d63e025f175a00a89797d31a43

dcd46d897adb70d63e025f175a00a89797d31a43

第五题

用”e4:ff:65:d7:be:5d:c8:44:1d:89:6b:50:f5:50:a0:ce”在google找到一个文档

发现ip 205.166.94.16

结果是 sdf.org

第六题

http://ustcnet.ustc.edu.cn/11180/list.htm

https://netfee.ustc.edu.cn/ylxia/help/faq/faq_wltfuncs.htm

2013-10-25

2014-12-16

2015-01-20

2011-01-01

找到的时间都不对!

最后写了个脚本爆破,是2003-03-01

家目录里的秘密

VS Code 里的 flag

下载家目录压缩包,直接解压

在vscode里面打开,直接搜索flag

发现 /user/.config/Code/User/History/2f23f721/DUGV.c 里面第五行有flag

flag{finding_everything_through_vscode_config_file_932rjdakd}

Rclone 里的 flag

没找到

/user/.config/rclone/rclone.conf 里面有ftp的配置文件,不知道是不是一个思路

看了官方题解,确实是从这里入手。

那个token只是编码了,自己fake一个FTP server就可以看到密码了。

HeiLang

吐槽何同学的题目hhh

把源代码下下来

|全部替换成] = a [,变成python可以运行的代码

直接运行得到flag

Xcaptcha

如果直接用python的request发包不太行

用selenium模拟操作,先发送cookies、爬题目计算

然后sendkey输入计算结果

必须要手动点击click提交才可以,等他自己提交结果已经晚了

不知道有没有其他的解法…

旅行照片 2.0

照片分析

把照片下下来,在网上随便找一个在线的EXIF查看器就可以分析出结果

提醒我们在互联网上分享照片的时候,要注意自己的隐私不要泄露了~

社工实践

  1. 观察圆形建筑 有个welcome to zozo* stadium

    经过查找是ZOZO Marine Stadium

    在日本,邮编是2610022

    但是他是在APA酒店拍的,邮编是2060021

    结束了,发现自己这里打错了。应该是2610021,爆破没爆破出来。。。

    失之交臂

  2. 一开始是观察倒影摄像头形状判断是小米10手机:2340×1080(但是这个是错的)

    看exif手机codename是sm6115 (juice)

    https://github.com/dotOS-Devices/device_xiaomi_juice

    可以看到分辨率是2340×1080

  3. 按照方向判断应该是hnd出港飞机(猜测)

  4. 没暴力出来 难受

爆破的数据里面确实包括答案,但是前面的邮编写错了…

猜数字

看了半天java代码,没思路

感觉java层面是随机的,应该要从web请求入手

因为他state是记录在后端的,不能同时开两个网页做

看了题解,直呼坑爹

Latex 机器人

纯文本

查了一下 latex可以通过 \immediate\write18{} 运行系统代码

但是看了文件包中的sh文件发现了 --no-shell-escape 选项,这个方法行不通

latex还可以通过 \input{} 引用文件内容,直接 \input{/flag1} 得到结果

特殊字符混入

应该要转义吧…不会做

看了题解,确实不会

Flag的痕迹

去wayback machine看了网站的历史snapshot,没有

url改成 ?do=recent 显示功能关闭

不会了

看了题解,确实不会

如果自己安装dokuwiki可能还能做出来,但是没那么多时间玩

线路板

用gerbv读取文件,重要的是那个B_Cu文件

一个一个删掉覆盖在上面的小圆圈就好了

Flag自动机

下下来直接点按钮会跑

直接反编译没有发现编码的flag字符串

发现字符串说可以不用反破解加密算法,但是没思路

看了题解,是我不会的方向了

微积分计算小练习

练习成绩的url的param是分数:名称的base64编码

获取成绩的代码会带着flag的cookie进行请求,不知道前端怎么把cookie显示出来啊

然后就没思路了

看了题解,知道XSS,当时没想到。。

感觉当时即使想到了也做不出来…

光与影

把整个网页扒下来,发现和里面的 fragment-shader.js有关

里面一堆min(min(min(min(min(min(给我看笑了

不太会WebGL,一通瞎分析瞎改发现好像和t5SDF相关

1
2
3
4
5
6
7
float t5SDF(vec3 p, vec3 b, float r) {
vec3 q = abs(p) - b;
// return length(max(q,0.0)) + min(max(q.x,max(q.y,q.z)),0.0) - r;
return length(0.0); // 全黑了
return length(1.0); // 除了地面都有
return length(9999999.0); // flag出现
}

获取到flag

看了题解,一开始把 float tmin = min(min(min(min(t1, t2), t3), t4), t5);
改成了 float tmin = min(min(min(t1, t2), t3), t4);
但是出错了,不知道为啥…

你先别急

验证码请求的参数包括选择的项目的名称

不知道项目的名称怎么转化为python生成验证码的参数的

可能是通过hack那个riskness参数吧,有一个test-riskness.png是flag

然后就没思路了,不知道这个题跟题目说的数据库有什么关系

看了题解,确实不会

本文作者 : Littlebear0729
本文使用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议
本文链接 : https://blog.bearxiong.xyz/2022/10/USTC-Hackergame-2022-Writeup/

本文最后更新于 天前,文中所描述的信息可能已发生改变