siyam-exe/30-day-ctf-writeup

GitHub: siyam-exe/30-day-ctf-writeup

面向新手的 30 天 CTF 解题报告系列,覆盖密码学、OSINT、取证、权限提升、Web、Pwn 和逆向七大方向。

Stars: 1 | Forks: 0

30 天 CTF Writeup 挑战

面向新手的 CTF 学习系列,涵盖 crypto、OSINT、forensics、privesc、web、pwn 和 reversing

这是我 CTF 学习冲刺的公开记录,旨在提高我的解决问题能力,记录我的推理过程,并探索不同的网络安全挑战类别。

30 days expanded to 32 32 writeups 30 completed 2 placeholders local images Markdown

## 概述 这个仓库最初是我的 30 天 CTF writeup 挑战。我希望通过持续解决挑战、学习不同类别,并记录每次解题背后的推理过程(而不仅仅是保存最终的 flag),来提高我的 CTF 水平。 随着时间推移,这个挑战不再仅仅是为了保持每日打卡。它变成了一个公开的学习记录,展示了我如何处理问题、犯错、使用工具、陷入困境,并慢慢在网络安全的不同领域中取得进步。 最终的系列包含 32 篇 writeup,增加的额外条目是为了妥善完成逆向工程部分,并让结局感觉更完整。 这些 writeup 是为想要学习推理过程的新手编写的,而不仅仅是复制最终答案。每篇完成的文章都侧重于从第一条线索到最终 flag 的路径,包括错误、工具使用以及从挑战中获得的经验。 我特别喜欢 OSINT、web exploitation 和 privilege escalation 挑战,这个系列帮助我发现了自己天生喜欢深入研究的网络安全领域。 ## Medium Writeup 我在 Medium 上发布完整的 CTF writeup: [medium.com/@siyam.exe](https://medium.com/@siyam.exe) 这些文章被编写为对新手友好的实操指南,重点关注每个挑战的推理过程、工具使用、所犯的错误以及经验教训。 ## 当前状态 | 指标 | 数量 | |---|---:| | 总天数 | 32 | | 已完成的 writeup | 30 | | 占位 writeup | 2 | | 本地图片资源 | 285 | 第 17 天和第 19 天是占位符。我会在完成这些房间后补充这些 writeup。 ## 类别 | 类别 | 天数 | 重点 | |---|---:|---| | Cryptography | 1 至 7 | 编码、古典密码、RSA、CBC、ECB、oracle 类攻击 | | OSINT | 8 至 10 | 用户名复用、公开线索、社交平台、地理位置、调查流程 | | Forensics | 11 至 14 | 文件提取、磁盘镜像、数据包分析、隐藏数据、Sleuth Kit | | Linux privilege escalation | 15 至 18 | 权限、sudo 滥用、枚举、shell 升级、root 路径 | | Web exploitation | 20 至 24 | Cookies、SQL injection、文件上传、XSS、JWT、浏览器行为 | | Binary exploitation | 25 至 29 | 缓冲区溢出基础、PIE、ROP、ret2win、split | | Reverse engineering | 30 至 32 | GDB、Ghidra、加壳、字符串重构、runtime 分析 | ## 仓库布局 ``` . |-- README.md |-- writeups/ | |-- day-01-introduction-to-cryptohack-writeup.md | |-- day-02-picoctf-2019-easy1-writeup.md | |-- day-03-ecb-oracle-writeup.md | `-- ... `-- assets/ |-- day-08-sakura-tryhackme-osint-writeup/ |-- day-09-kaffeesec-someint-tryhackme-osint-writeup/ |-- day-10-cache-me-outside-tryhackme-osint-writeup/ `-- ... ``` 所有截图都本地存储在 `assets/` 目录中,并按 writeup 分组。Markdown 文件使用相对路径,因此该仓库在 GitHub 上应该能正确渲染,而无需依赖外部图床。 ## Writeup 列表 | 天数 | Writeup | 简短描述 | 状态 | |---:|---|---|---| | 1 | [CryptoHack 入门 Writeup](writeups/day-01-introduction-to-cryptohack-writeup.md) | 新手 CryptoHack 挑战,涵盖基本编码、XOR 和早期 crypto 热身。 | 已完成 | | 2 | [picoCTF 2019 Easy1 Writeup](writeups/day-02-picoctf-2019-easy1-writeup.md) | 使用提供的密钥和 CyberChef 风格推理的维吉尼亚密码解题。 | 已完成 | | 3 | [ECB Oracle Writeup](writeups/day-03-ecb-oracle-writeup.md) | 一道 CryptoHack ECB oracle 挑战,展示了为什么确定性的块加密会泄露结构。 | 已完成 | | 4 | [Lazy CBC Writeup](writeups/day-04-lazy-cbc-writeup.md) | 一道 CBC 挑战,其中错误输出和 IV 误用导致了密钥恢复。 | 已完成 | | 5 | [ALEXCTF CR2: Many Time Secrets Writeup](writeups/day-05-alexctf-cr2-many-time-secrets-writeup.md) | 一道侧重于密钥流重用弱点的多次一密(many-time pad)风格 crypto 挑战。 | 已完成 | | 6 | [Mind Your Ps and Qs Writeup](writeups/day-06-mind-your-ps-and-qs-writeup.md) | 一道 picoCTF RSA 挑战,其中脆弱的公开参数使得解密成为可能。 | 已完成 | | 7 | [Dancing Queen CTF Writeup](writeups/day-07-dancing-queen-ctf-writeup.md) | 一道涉及流密码行为和仔细的字节级恢复的 CryptoHack 挑战。 | 已完成 | | 8 | [Sakura TryHackMe OSINT Writeup](writeups/day-08-sakura-tryhackme-osint-writeup.md) | 一条 OSINT 调查路径,涉及用户名、GitHub、PGP、加密货币钱包、WiFi 线索和出行证据。 | 已完成 | | 9 | [KaffeeSec SomeINT TryHackMe OSINT Writeup](writeups/day-09-kaffeesec-someint-tryhackme-osint-writeup.md) | 一项 OSINT 调查,使用了公开资料、Reddit 线索和自动化侦察工具。 | 已完成 | | 10 | [Cache Me Outside TryHackMe OSINT Writeup](writeups/day-10-cache-me-outside-tryhackme-osint-writeup.md) | 一个围绕公开活动、平台线索和身份关联展开的 OSINT 房间。 | 已完成 | | 11 | [Matryoshka Dolls picoCTF Forensics Writeup](writeups/day-11-matryoshka-dolls-picoctf-forensics-writeup.md) | 一道嵌套镜像 forensics 挑战,提取出的每个文件都会揭示下一层。 | 已完成 | | 12 | [tunn3l v1s10n picoCTF Forensics Writeup](writeups/day-12-tunn3l-v1s10n-picoctf-forensics-writeup.md) | 一道损坏的 BMP 头部挑战,通过修复图像元数据揭示真正的 flag。 | 已完成 | | 13 | [Carnage TryHackMe Network Forensics Writeup](writeups/day-13-carnage-tryhackme-network-forensics-writeup.md) | 一项以 Wireshark 为核心的网络 forensics 调查,涉及可疑流量和痕迹。 | 已完成 | | 14 | [Sleuthkit Apprentice picoCTF Forensics Writeup](writeups/day-14-sleuthkit-apprentice-picoctf-forensics-writeup.md) | 一道使用 Sleuth Kit 命令行工具解决的磁盘镜像 forensics 挑战。 | 已完成 | | 15 | [Permissions picoCTF Writeup](writeups/day-15-permissions-picoctf-writeup.md) | 一道 Linux 权限挑战,其中一条 sudo 规则提供了 privilege escalation 路径。 | 已完成 | | 16 | [TryHackMe Linux Privilege Escalation Writeup](writeups/day-16-tryhackme-linux-privilege-escalation-writeup.md) | 一份实用的 Linux privilege escalation 实操指南,涵盖枚举和多种 root 路径。 | 已完成 | | 17 | [Linux PrivEsc TryHackMe Writeup](writeups/day-17-linux-privesc-tryhackme-writeup.md) | 为未来的 Linux privilege escalation 房间 writeup 保留的占位符。 | 占位符 | | 18 | [RootMe TryHackMe Writeup](writeups/day-18-rootme-tryhackme-writeup.md)) | 一个从新手 web 到 root 的房间,利用了目录发现、上传滥用、shell 访问和 privesc。 | 已完成 | | 19 | [Wonderland TryHackMe Writeup](writeups/day-19-wonderland-tryhackme-writeup.md) | 为未来的 Wonderland TryHackMe writeup 保留的占位符。 | 占位符 | | 20 | [Power Cookie picoCTF Web Exploitation Writeup](writeups/day-20-power-cookie-picoctf-web-exploitation-writeup.md)) | 一道 web 挑战,通过修改受信任的浏览器 cookie 即可解锁访问权限。 | 已完成 | | 21 | [SQLiLite picoCTF Web Exploitation Writeup](writeups/day-21-sqlilite-picoctf-web-exploitation-writeup.md) | 一道 SQL injection 挑战,登录查询准确地暴露了攻击点。 | 已完成 | | 22 | [n0s4n1ty 1 picoCTF Web Exploitation Writeup](writeups/day-22-n0s4n1ty-1-picoctf-web-exploitation-writeup.md)) | 一道文件上传挑战,将头像处理过程转变成了命令执行。 | 已完成 | | 23 | [Noted picoCTF Web Exploitation Writeup](writeups/day-23-noted-picoctf-web-exploitation-writeup.md) | 一道笔记应用挑战,涉及 XSS 行为、浏览器状态和报告流程滥用。 | 已完成 | | 24 | [JaWT Scratchpad picoCTF Web Exploitation Writeup](writeups/day-24-jawt-scratchpad-picoctf-web-exploitation-writeup.md) | 一道 JWT 挑战,其中弱密钥允许进行 token 篡改并获取管理员访问权限。 | 已完成 | | 25 | [buffer overflow 0 picoCTF Binary Exploitation Writeup](writeups/day-25-buffer-overflow-0-picoctf-binary-exploitation-writeup.md)) | 二进制漏洞利用的第一步,展示了如何通过导致崩溃的输入来触发胜利条件。 | 已完成 | | 26 | [picoCTF Buffer Overflow 1 Writeup](writeups/day-26-picoctf-buffer-overflow-1-writeup.md) | 一道缓冲区溢出挑战,侧重于控制 EIP 并重定向执行流。 | 已完成 | | 27 | [PIE TIME picoCTF Binary Exploitation Writeup](writeups/day-27-pie-time-picoctf-binary-exploitation-writeup.md) | 一道 PIE 绕过挑战,利用了泄露的地址和偏移量计算。 | 已完成 | | 28 | [ROP Emporium ret2win x86_64 Writeup](writeups/day-28-rop-emporium-ret2win-x86-64-writeup.md)) | 一道入门级的 ROP Emporium 挑战,使用栈控制来调用现有的 win 函数。 | 已完成 | | 29 | [ROP Emporium split x86_64 Writeup](writeups/day-29-rop-emporium-split-x86-64-writeup.md) | 一道 ROP 挑战,利用有用的字符串和函数调用来打印 flag。 | 已完成 | | 30 | [GDB Test Drive picoCTF Reverse Engineering Writeup](writeups/day-30-gdb-test-drive-picoctf-reverse-engineering-writeup.md) | 一道逆向挑战,利用 GDB 跳过不必要的执行并获取 flag。 | 已完成 | | 31 | [Packer picoCTF Reverse Engineering Writeup](writeups/day-31-packer-picoctf-reverse-engineering-writeup.md) | 一道二进制加壳挑战,识别并解包 UPX 可揭示真正的程序。 | 已完成 | | 32 | [FactCheck picoCTF Reverse Engineering Writeup](writeups/day-32-factcheck-picoctf-reverse-engineering-writeup.md) | 一道逆向工程挑战,使用 Ghidra 和 GDB 捕获正在构建的 flag。 | 已完成 | ## 本仓库展示的内容 - 涵盖多个 CTF 类别的持续技术写作。 - 对新手友好的解释,而不仅仅是最终的命令。 - 跨越 CyberChef、Wireshark、Sleuth Kit、Burp Suite、GDB、Ghidra、Python 和 Linux 实用工具的实际工具使用。 - 一条将 CTF 实践与攻击性安全基础知识联系起来的公开学习轨迹。 ## 注意事项 - 第 17 天和第 19 天被特意保留为占位符,以维持 32 天的序列。 - 截图已从我的 Obsidian 笔记转换为适配 GitHub 的本地资源。 - 为了让导出的 Markdown 文件便于本地进行杀毒软件扫描,必要时可能会对少量 payload 文本进行涂码处理。 ## 免责声明 这些 writeup 仅用于合法的 CTF 练习、教育和个人记录。请勿将本仓库中的任何技术用于您不拥有或未获得明确测试授权的系统。
标签:Web安全, Writeup, 云资产清单, 协议分析, 密码学, 手动系统调用, 权限提升, 网络安全, 蓝队分析, 逆向工具, 逆向工程, 防御加固, 隐私保护