AlexTuring010/cybersec-hw2
GitHub: AlexTuring010/cybersec-hw2
雅典大学《计算机安全导论》课程的CTF挑战解题复盘,涵盖Web安全与密码学攻击的完整write-up及配套Python利用脚本。
Stars: 0 | Forks: 0
# cybersec-hw2
雅典大学(信息与电信系)《计算机安全导论》的第二次作业。
这是 HackCenter 排行赛中 Web 与密码学部分的挑战——包括 SQL 注入、cookie 伪造、ECB 攻击、Vigenère 密码、RC2、二进制填充以及一系列身份验证破解谜题。
让我通关的不是纯粹的技术,而是*绝不放弃的毅力*。大多数挑战都遇到了我必须克服的瓶颈;[`challenges/`](challenges/) 中的事后复盘详细记录了每一个挑战。
## 仓库包含内容
- **[`challenges/`](challenges/)** —— 每个挑战对应一篇 Markdown 格式的复盘。全英文。包含有助于理解的截图(CBC 模式、解密图片、服务器响应等)。
- **[`scripts/`](scripts/)** —— 我为破解较难的挑战而编写的 Python 工具。有点像工作台抽屉——里面有 payload 生成器、解密辅助工具、暴力破解脚本以及几个定制的客户端。
## 最喜欢的挑战
### 1. The Facebook 1
这个挑战让我感觉自己像个真正的黑客。大家尝试的注入点都是表单字段——而*真正*的注入点隐藏在点赞按钮的 ID 中。我构建了一个小型控制台工具,利用**盲注 SQL 注入**逐个字符提取目标密码,并配有一个小巧的实时 UI。这是本次作业中最有成就感的解题经历。
### 2. Cloudz
提供了源代码——不需要再盲目摸索。三个步骤:
1. 利用 **SQL 注入**通过错误信息泄露哈希值。
2. **破解哈希值**——但不是为了登录。
3. 用破解出的密钥**伪造管理员 cookie**。
窍门在于:服务器只验证签名的*最后一个字符*。不需要暴力破解整个 MAC。
### 3. BrokenEncryption0
一次教科书式的 **ECB 逐字节攻击**——但我从头开始编写了一个精确且具有良好监控的脚本,逐个字符提取 flag。`challenges/` 中的挑战复盘详细解释了为什么 ECB 会泄露结构信息。
### 4. tworc2
一个链式 RC2 设置,通常同一个 cipher 对象无法同时进行加密和解密——但这个实现却可以。一旦我理解了它的状态机,便精心构造了一个逐块解密的流程,直接将 flag 提取出来。
### 荣誉提名 — The Facebook 2
排行榜上分值最高的题目,但在我找到注入点(错误页面)后,只需两个 payload 就能搞定。大多数人在发现它之前就放弃了。
## 许可证
[MIT](LICENSE) —— 适用于本仓库中我自己的工作成果(复盘、脚本、漏洞利用程序)。课程分发的源代码/二进制文件保留其原始的课程版权。
## 系列
这是一个由五部分组成的网络安全课程集群的一部分:
1. [cybersec-bn0](https://github.com/AlexTuring010/cybersec-bn0) —— 课程热身
2. [cybersec-hw0](https://github.com/AlexTuring010/cybersec-hw0) —— 第一次作业
3. [cybersec-hw1](https://github.com/AlexTuring010/cybersec-hw1) —— HackCenter 二进制漏洞利用(1230 分)
4. **cybersec-hw2** *(你在这里)* —— HackCenter Web 与密码学(第 3 名)
5. [cybersec-hw3-chimera-agents](https://github.com/AlexTuring010/cybersec-hw3-chimera-agents) —— 团队 CTF 毕业项目
标签:CBC模式, CISA项目, CTF Writeup, ECB攻击, payload生成, PoC, Python, RC2加密, Web安全, 两次密码本, 伪造Cookie, 多线程, 字节翻转攻击, 安全竞赛, 密码学, 手动系统调用, 教学项目, 数字取证, 无后门, 暴力破解, 漏洞分析, 盲注, 维吉尼亚密码, 网络安全, 自动化脚本, 蓝队分析, 路径探测, 身份验证绕过, 逆向工具, 隐私保护, 雅典大学, 黑客技术