AlexTuring010/cybersec-hw1
GitHub: AlexTuring010/cybersec-hw1
雅典大学《计算机安全导论》课程的二进制漏洞利用作业合集,包含20余道pwn题的详细解题思路与复现材料。
Stars: 0 | Forks: 0
# cybersec-hw1
雅典大学(信息与电信系)《计算机安全导论》课程的作业 #1。
一系列托管在课程 HackCenter 上的二进制漏洞利用挑战——包括栈溢出、格式化字符串、ROP、shellcode,以及一个 JVM 逆向工程谜题。**最终得分:1230 分。**
## 仓库内容
- **[`challenges/`](challenges/)** — 每个挑战对应一份 Markdown write-up。全部为英文。其中比较有趣的挑战已在下方进行了总结。
- **[`programs/`](programs/)** — 每个挑战的目标二进制文件/源文件,已妥善保存以确保 write-up 可复现。
## 亮点
### 最爱 —— `argv0`
一个带有 canary 保护的二进制文件,其窍门是*利用* canary 机制为我们所用。精心构造的 payload + 正确的偏移量 + 通过阅读汇编代码找出输入存储的位置——最终 canary 检查过程替我们打印出了 flag。
### 最难
- **`choose_your_path`** — 我当时对这种特定的漏洞利用类型还缺乏足够的经验。查阅资料后,回过头来解决了它。
- **`fatty2`** — 寻找真正有效的 shellcode 花费了大部分时间。当它终于奏效时,却只 drop 了一个没有权限的 shell。
- **`syzygy`** — 第一次尝试是在 GDB 中手动插入 NOP(糟糕的主意,非常慢)。后来切换到 **radare2**,仅用了一小部分时间就解决了。
包含详细解决方案的完整挑战列表在 [`challenges/`](challenges/) 中。
## 许可证
[MIT](LICENSE) — 适用于本仓库中我自己的工作成果(writeup、脚本、漏洞利用程序)。课程分发的源代码/二进制文件(例如 [`programs/`](programs/) 中的内容)保留其原始的课程版权。
## 序列
五部分网络安全课程作业集的一部分:
1. [cybersec-bn0](https://github.com/AlexTuring010/cybersec-bn0) — 课程热身
2. [cybersec-hw0](https://github.com/AlexTuring010/cybersec-hw0) — 第一次作业
3. **cybersec-hw1** *(你在这里)* — HackCenter 二进制漏洞利用(1230 分)
4. [cybersec-hw2](https://github.com/AlexTuring010/cybersec-hw2) — HackCenter Web 与 Crypto(第 3 名)
5. [cybersec-hw3-chimera-agents](https://github.com/AlexTuring010/cybersec-hw3-chimera-agents) — 团队 CTF 压轴项目
标签:API接口, Canary保护, DI UoA, DNS 反向解析, Exploit开发, GDB, Github安全项目, JVM逆向工程, radare2, ROP, Shellcode, Write-up, 二进制漏洞利用, 子域名变形, 安全课程, 客户端加密, 快速连接, 技术调研, 挑战解题, 栈溢出, 格式化字符串, 汇编语言, 系统运维工具, 绕过防御, 缓冲区溢出, 网络安全, 网络安全实验, 逆向分析, 逆向工具, 隐私保护, 雅典大学