小熊の小站

Try my best.

USTC Hackergame 2023 Writeup

Littlebear0729's Avatar 2023-11-07

  1. 1. Hackergame 启动
  2. 2. 猫咪小测
    1. 2.1. 第一题
    2. 2.2. 第二题
    3. 2.3. 第三题
    4. 2.4. 第四题
  3. 3. 更深更暗
  4. 4. 旅行照片3.0
  5. 5. 赛博井字棋
  6. 6. 奶奶的睡前flag故事
  7. 7. 组委会模拟器
  8. 8.
  9. 9. JSON ⊂ YAML?
    1. 9.1. JSON ⊄ YAML 1.1
    2. 9.2. JSON ⊄ YAML 1.2
  10. 10. Git?Git!
  11. 11. HTTP集邮册
    1. 11.1. 5种状态码
    2. 11.2. 没有状态
  12. 12. Docker for Everyone
  13. 13. 惜字如金2.0
  14. 14. 高频率星球
  15. 15. 小型大语言模型星球
    1. 15.1. You Are Smart
  16. 16. 流式星球
  17. 17. 低带宽星球
    1. 17.1. 小试牛刀
  18. 18. 后面的题

2022年说:

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

2023年我也要说:今年的题更变态了…也因为今年比较忙,时间也很少,一些简单题花时间的也没有死磕哈哈哈哈。但是玩CTF真的很上头!!有一种非得把它做出来的执着,还有得到flag后的喜悦快感。

这次的Writeup是玩完了之后再写的,有一些解题过程记不清了。。

就简单写一写,也算是有个参与感。

Hackergame 启动

直接提交,观察url的similarity,改数即可通过

猫咪小测

第一题

找USTC图书馆官网,简单搜索即可得到结果

第二题

直接用中文Google,得到一个知乎专栏,里面是别人总结好的文章哈哈哈

第三题

使用kernel bbr config为关键词Google一下

第四题

忘了当时用的什么关键词了,找到论文发表在ECOOP上

https://drops.dagstuhl.de/opus/volltexte/2023/18237/pdf/LIPIcs-ECOOP-2023-44.pdf

更深更暗

在Chrome Devtool里面直接Ctrl+F搜索flag即可

虽然他会跳,但是只要不滚动就行了

旅行照片3.0

这就是我说的需要花时间的题,懒得弄了()

赛博井字棋

还是借助Chrome Devtool,观察每次的请求,手动更改payload重放请求可以覆盖电脑下棋的位置

奶奶的睡前flag故事

原先在网上冲浪的时候,听到过pixel手机截图有bug,即使裁切也会保留原始图片的CVE。

经过简单搜索之后,发现一个在线网站可以反向处理图片,挨个试一下手机型号就行了。

组委会模拟器

写了一个Selenium脚本,有flag就模拟点击一下。

抓包也可以,一开始有一个getMessage请求,然后设置delay给deleteMessage发请求即可。

下载音频第一声就听出来了是SSTV(来自一个HAM的基本素养哈哈哈)

电脑上正好有MMSSTV软件,用虚拟声卡解出来了。

前几天刚用SSTV接收了来自ISS国际空间站的图片,很巧!

JSON ⊂ YAML?

JSON ⊄ YAML 1.1

第一题做出来了,经过一番搜索json和yaml对于1e2这种科学计数法的parse方法不同。

JSON ⊄ YAML 1.2

第二题没做出来,这题有个隐含条件是可以被yaml1.1解析,但是不能被yaml1.2解析。(都不能被解析的方法还是挺多的)

最后才知道duplicate key是不可以的。(我一直以为duplicate key不行啊啊)

Git?Git!

这题还是挺简单的,原来编译安卓ROM的时候就知道可以用git reflog来看操作记录。

然后通过git reset --hard来重置到某个commit上,再在vscode里面全局搜索flag即可。

HTTP集邮册

5种状态码

  • 200最简单

  • 输入一个不存在的url 404

  • 使用POST方法 405

  • 使用HTTP/2.0 505 HTTP Version Not Supported

  • 构造超长的URL 414 URI Too Large

  • 当时还做出来400了,忘了咋弄的了

没有状态

把HTTP version删了就行,好像是http 0.9的操作

Docker for Everyone

用docker run -v把flag文件映射出来就行

惜字如金2.0

没做出来,脑子不好使没有好好分析

高频率星球

下个asciinema然后把他cat出来

cat到一个文件里面,用vscode把所有控制字符查找替换删干净

之后用node.js跑一下就行了

我挺好奇这程序是怎么生成出来的。。

小型大语言模型星球

You Are Smart

这玩意儿不如GPT聪明哈哈哈

GPT是一问一答那种,这个是续写那种

我对大模型也不是非常了解,也没有下载下来那个模型

最后输入you are smart you are smart you are smart you are smart you are smart过了

流式星球

让GPT写一个反向脚本

然后枚举视频分辨率的长宽

因为脚本0-100随机截取了最后的长度,所以就看前面的帧就可以了

最后枚举出来视频宽度为427

这题做出来还是非常有成就感的

低带宽星球

小试牛刀

网上找一个在线的png无损压缩网页,直接压缩就行了

后面的题

后面的题基本上就没看,只能说简单参与了一下。

最后的成绩是2400分,排名302/2381,前12.6%,对自己挺满意的。

明年有空还会再玩!

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

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