Skip to content

Commit cecf26e

Browse files
committed
文案存档
1 parent d2adc2b commit cecf26e

File tree

42 files changed

+649
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+649
-0
lines changed

official/2048/README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# 2048
22

3+
- 题目分类:web
4+
5+
- 题目分值:100
6+
7+
> 路漫漫其修远兮,FLXG 永不放弃!
8+
9+
要实现 FLXG,你需要过人的智慧,顽强的意志,和命运的眷属。只有在 2048 的世界里证明自己拥有这些宝贵的品质,实现「大成功」,你才有资格扛起 FLXG 的大旗。
10+
11+
[打开/下载题目](http://202.38.93.111:10005/?token={token})
12+
13+
---
14+
315
本题是根据 https://github.com/volltin/flxg-2048/ 改变,所有方块的名称来自于某位老学长的长篇连载小说。
416

517

official/233 同学的 Docker/README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
# 233 同学的 Docker
22

3+
- 题目分类:general
4+
5+
- 题目分值:150
6+
7+
233 同学在软工课上学到了 Docker 这种方便的东西,于是给自己的字符串工具项目写了一个 Dockerfile。
8+
9+
但是 233 同学突然发现它不小心把一个私密文件(`flag.txt`)打包进去了,于是写了一行命令删掉这个文件。
10+
11+
「既然已经删掉了,应该不会被人找出来吧?」233 想道。
12+
13+
- Docker Hub 地址:[8b8d3c8324c7/stringtool](https://hub.docker.com/r/8b8d3c8324c7/stringtool)
14+
15+
---
16+
317
[这道题的 Dockerfile](./src/Dockerfile)
418

519
## 命题背景与思路

official/233 同学的字符串工具/README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,24 @@
11
# 233 同学的字符串工具
22

3+
- 题目分类:general
4+
5+
- 题目分值:字符串大写工具(150)+ 编码转换工具(150)
6+
7+
233 同学最近刚刚学会了 Python 的字符串操作,于是写了两个小程序运行在自己的服务器上。这个工具提供两个功能:
8+
9+
- 字符串大写工具
10+
- UTF-7 到 UTF-8 转换工具
11+
12+
除了点击下方的打开题目按钮使用网页终端,你也可以通过 `nc 202.38.93.111 10233` 命令连接到 233 同学的服务上。你可以在这里看到 233 同学的源代码: [string\_tool.py](src/string_tool.py)
13+
14+
如果你不知道 `nc` 是什么,或者在使用上面的命令时遇到了困难,可以参考我们编写的 [萌新入门手册:如何使用 nc/ncat?](https://lug.ustc.edu.cn/planet/2019/09/how-to-use-nc/)
15+
16+
读了代码之后,你惊讶地发现自己似乎可以通过构造特殊输入,使得 233 同学的工具返回 flag。
17+
18+
[打开/下载题目](http://202.38.93.111:10234/?token={token})
19+
20+
---
21+
322
[这道题的源代码 string_tool.py](./src/string_tool.py)
423

524
## 命题背景与思路

official/Flag 计算机/README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,19 @@
11
# Flag 计算机
2+
3+
- 题目分类:binary
4+
5+
- 题目分值:300
6+
7+
一个玄学的 flag 计算机,平常的时候只会摸鱼,但如果在**合适的时间**运行它的话,它就可以告诉你真正的 flag。
8+
9+
**提示 1:请大家着重于最后生成打印 flag 的逻辑,忽略其他无关代码**
10+
11+
**提示 2:本题的旧版附件([点击下载](src/get_flag_system/files/get_flag_system.exe))存在问题,我们已经将其修复,请各位选手解题时使用新版附件(点击下方按钮下载)。题目的 flag 保持不变。**
12+
13+
[打开/下载题目](src/get_flag_system/get_flag_system_fixed.exe)
14+
15+
---
16+
217
此题目基于 [https://github.com/skeeto/dosdefender-ld31](https://github.com/skeeto/dosdefender-ld31) 修改而成。
318

419
```

official/一闪而过的 Flag/README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
# 一闪而过的 Flag
22

3+
- 题目分类:general
4+
5+
- 题目分值:100
6+
7+
深秋清晨,也西湖畔。一位可怜的同学蜷在路边的长椅上,用粗糙的手指敲击着残旧的神船笔记本,反复试图打开桌面上的一个程序。**程序每次运行时隐约可见黑色控制台上有 flag 一闪而过。**
8+
9+
在他的脚边搭着一块用废弃纸箱剪成的牌子,上面写着「我很可爱,请给我 flag」。路上的人行色匆匆,而那地上用来盛 flag 的饭盒依旧空空如也。
10+
11+
一位诗人同学路过,见此情景,遂把牌子改成了:「flag 来了,可是我什么也看不见!」
12+
13+
而你作为一名新生,不由动了恻隐之心。望着诗人潇洒远去的背影,你可以赶在下午诗人回来之前,帮助这位可怜的人,用 flag 装满他的饭盒吗?
14+
15+
[打开/下载题目](files/Untitled01.exe)
16+
17+
---
18+
319
这道题怎么做应该不用多说了,在开始菜单中查找 cmd 或者 powershell 并打开,再将 Untitled01.exe 拖进去,回车,结束。
420

521
其他 OS 用户可用虚拟机和 wine 。唯一的坑可能是录屏不能解,因为 Windows 10 默认 cmd 和 powershell 字体中 1 和大写 I 几乎完全相同无法区分。
53.7 KB
Binary file not shown.

official/不经意传输/README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
11
# 不经意传输
22

3+
- 题目分类:math
4+
5+
- 题目分值:解密消息(150)+ 攻破算法(300)
6+
7+
某同学在某不知名百科网站上看到一个神奇的密码学协议,叫做「不经意传输」(Oblivious transfer)。
8+
9+
于是他按照网站上描述的「1–2 oblivious transfer」自己实现了协议中一方的逻辑,你可以作为另一方与之进行交互。
10+
11+
完全按照百科网站上的算法来实现的协议应该不会有什么问题吧?
12+
13+
**点击下载 [源代码](src/OT.py)**
14+
15+
除了网页终端,你也可以通过 `nc 202.38.93.111 10031` 来连接
16+
17+
[打开/下载题目](http://202.38.93.111:10030/?token={token})
18+
19+
---
20+
321
## 花絮
422

523
我之前给 pwnhub 出过一道关于 oblivious transfer 的题目 [BabyOT](https://mp.weixin.qq.com/s/eAJWraah9OOgJfZOhm4Sqg)

official/中间人/README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
# 中间人
22

3+
- 题目分类:math
4+
5+
- 题目分值:不安全的消息认证码(200)+ 不安全的 CRC(1)(250)+ 不安全的 CRC(2)(300)
6+
7+
为了避开 Eve 同学的干扰,某一天 Alice 悄悄找到了你,想让你帮忙传送一些加密消息给 Bob。当然,出于一些安全方面的考虑,Alice 想了几种方法在消息里加入了一些校验。
8+
9+
**点击下载 [源代码](files/MITM.zip)**
10+
11+
除了网页终端,你也可以通过 `nc 202.38.93.111 10041` 来连接
12+
13+
[打开/下载题目](http://202.38.93.111:10040/?token={token})
14+
15+
---
16+
317
## 花絮
418

519
这道题创意的来源是,我之前出过一个 poodle attack 的题目,然后应该放 HMAC 的地方我直接放了一个 sha256,被某同学(就是 114514 那道题的出题人)非预期了。

official/中间人/files/MITM.zip

2.83 KB
Binary file not shown.

official/从零开始的 HTTP 链接/README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
# 从零开始的 HTTP 链接
22

3+
- 题目分类:general
4+
5+
- 题目分值:150
6+
7+
众所周知,数组下标应当从 0 开始。
8+
9+
同样的,TCP 端口也应当从 0 开始。为了实践这一点,我们把一个网站架设在服务器的 0 号端口上。
10+
11+
你能成功连接到 0 号端口并拿到 flag 吗?
12+
13+
**点击下面的打开题目按钮是无法打开网页的,因为普通的浏览器会认为这是无效地址。**
14+
15+
[打开/下载题目](http://202.38.93.111:0/)
16+
17+
---
18+
319
0 号端口是保留端口,大部分应用程序会认为 0 号端口无效从而拒绝连接。但是,TCP 数据包头部的端口字段是两个字节,可以表示 0~65535 的端口号,所以构造 0 号端口的数据包是完全可行的。
420

521
经过我的测试,在大多数网络环境下,包括校园网、家庭宽带、国内外的云服务器等,即使经过了家用路由器的 NAT,0 号端口的流量也都是可以正常通过的。少数网络环境可能封禁了 0 号端口的流量,此时你可能需要更换一个网络环境或者从云服务器(包括一些免费的持续集成和沙箱环境等)发起连接。

0 commit comments

Comments
 (0)