logo
COMP44426 学分

软件安全漏洞利用

新南威尔士大学·University of New South Wales·悉尼

COMP4442《软件安全漏洞利用》是 新南威尔士大学 的公开课程页面。当前可确认的信息包括 6 学分,难度 超难,公开通过率 70%。 页面已整理 10 周教学安排,3 个重点考核,方便你快速判断工作量、考核结构和适配度。 课程简介摘要:课程定位 COMP4442/9442 是 UNSW 计算机专业在‘攻防安全’领域的顶级硬核课。

💪 压力
5 / 5
⭐ 含金量
5 / 5
✅ 通过率
0%

📖 课程概览

选课速读: COMP4442《软件安全漏洞利用》是 新南威尔士大学 的公开课程页面。当前可确认的信息包括 6 学分,难度 超难,公开通过率 70%。 页面已整理 10 周教学安排,3 个重点考核,方便你快速判断工作量、考核结构和适配度。 课程简介摘要:课程定位 COMP4442/9442 是 UNSW 计算机专业在‘攻防安全’领域的顶级硬核课。
### 课程定位 COMP4442/9442 是 UNSW 计算机专业在‘攻防安全’领域的顶级硬核课。如果普通安全课是在教你如何‘锁门’,这门课则是教你如何像顶级黑客一样‘开锁’。它专注于软件漏洞的发现、验证与利用。它是通往高级安全研究员、红队渗透专家、及二进制漏洞分析师岗位的唯一实战必经之路。它将底层的汇编指令、内存布局与现代漏洞缓解机制(Mitigations)深度博弈,是培养‘实战级安全专家’的魔鬼特训营。 ### 技术栈与学习内容 课程以 Linux 平台下的 x86-64 架构为核心,深度攻克:经典的缓冲区溢出 (Stack Overflow)、Return-oriented Programming (ROP)、格式化字符串漏洞、整数溢出、以及堆溢出 (Heap Exploitation)。此外,课程重点研究现代防御机制的绕过技巧:ASLR (地址空间随机化)、DEP (数据执行保护)、以及 Stack Canaries。学生将学习如何利用 GDB 和 Pwntools 编写精准的漏洞利用脚本(Exploits)。课程强调‘对每一字节内存的极致控制’。 ### 课程结构 10 周极高强度的实验驱动教学。评估体系完全看重实战:包含每周的‘漏洞破解’Lab、两个要求极高难度的 Capture The Flag (CTF) 风格项目(Assignment,涉及破译具有多重防御的二进制程序)、以及一场限时 24 小时的‘远程夺旗’期末大考。该课极其强调‘手敲 Shellcode’的能力。及格意味着你懂安全,拿 HD 意味着你具备了发现零日漏洞 (Zero-day) 的潜力。 ### 适合人群 计算机专业大四、荣誉学位或研究生。必须具备极其扎实的 COMP1521 (系统基础) 和汇编功底。如果你逻辑感极强、享受从崩溃的堆栈中提取控制权的快感,这门课会让你血脉偾张。建议每周投入 30 小时以上,做好‘与十六进制共度周末’的准备。

🧠 大神解析

📊 课程难度与压力分析

COMP4442 是计算机系‘硬核度’排名前三的课。难点不在于代码量,而在于‘思维的精确度’。你的 Exploit 脚本只要偏离一个字节,或者对 ASLR 的偏移量计算错了一个位,你的 Payload 就永远打不进去。压力主要来自于 24 小时期的期末考,你可能在凌晨三点还在为了一个绕过 NX 的 ROP 链而抓狂。及格率极低,拿 HD 的人通常是各大 CTF 战队的核心成员。挂科风险显著存在于对‘内存分布’物理图像的混淆上。

🎯 备考重点与高分策略

高分秘籍:‘得 ROP 者得 Distinction,得堆利用者得 HD’。期末考试中,绕过 ASLR 并泄露 Libc 地址是必考的大题,一定要练到能精准使用‘One-gadget’。重点攻克‘UAF (Use-after-free)’在堆管理中的应用,那是区分普通高手与顶级选手的标志。备考时,‘CTF-Wiki’是唯一的离线圣经。对于项目,HD 的关键在于‘通用性’——你的脚本是否能在不同版本的内核上稳定复现?重视 Tutorial 里的每一道手算偏移量题。

📚 学习建议与资源推荐

神书推荐:Jon Erickson 的《Hacking: The Art of Exploitation》,虽然老但逻辑极佳。如果 ROP 理解不了,强烈推荐去 YouTube 搜‘LiveOverflow’的二进制系列视频。最重要的建议:养成画‘内存堆栈图’的习惯。利用好 Python 的 `Pwntools` 库,它是所有安全专家的瑞士军刀。加入 UNSW CyberSoc,参加他们的线下 Hackathon。

⚠️ 作业与 Lab 避坑指南

项目避坑:千万不要在第 10 周才跑堆分配!堆的状态极其敏感,任何微小的环境变量差异都会导致 Chunks 合并失败。Assignment 写作中,严禁只给 Flag,必须写出你的‘漏洞挖掘逻辑’——你是如何发现这个溢出点的?此外,注意 Final 考试有 Hurdle,代码必须通过基础的功能验证。考试时,带好直尺,画出的堆栈布局图必须清晰标注每一个地址偏移。注意:分清‘小端序 (Little-endian)’与‘大端序’在数据注入时的翻转逻辑。

💬 过来人经验分享

学长建议:这门课是为你进入顶级大厂安全组(如 Google Project Zero)拿的‘英雄帖’。学完后,你眼中的软件不再是一个个逻辑块,而是一个由寄存器、内存页和跳转指令构成的脆弱堡垒。建议找一个同样追求极致逻辑的‘战友’互喂题。拿 HD 的关键:在报告中展现出你对‘防御规避 (Evasion)’的深刻觉知。坚持住,通关 4442,你就真正跨过了网络安全的实战门槛。这张成绩单是你在安全圈内议价权的核心来源。

📅 每周课程大纲

Week 1安全漏洞概论与实验环境
软件安全三要素,x86-64 寄存器复习,GDB 与 Pwntools 基础操作。
Week 2栈溢出 (Stack Overflows)
函数调用栈帧解构,覆盖返回地址,编写第一个简单的 Shellcode 注入。
Week 3现代防御机制 (1):DEP 与 ASLR
NX 位原理,为什么 Shellcode 无法直接执行,ASLR 如何干扰硬编码地址。
Week 4ROP:Return-Oriented Programming
寻找 Gadgets,构造 ROP 链绕过 DEP,利用 Puts 或 Printf 泄露库地址。
Week 5格式化字符串漏洞
Printf 底层原理,利用格式说明符实现任意地址读写,绕过 Stack Canaries。
Week 6灵活性周 (Flex Week)
复习 ROP 链构造逻辑,冲刺第一个二进制破解 Assignment,练习 Libc 数据库匹配。
Week 7堆溢出基础 (Heap Exploitation)
Glibc 堆分配算法,Chunks 结构,Use-after-free (UAF) 漏洞原理分析。
Week 8高级堆利用技巧
Tcache 投毒,Unsorted Bin 泄露,Fastbin Dup 攻击实现。
Week 9整数溢出与边界错误
有符号 vs 无符号溢出,由于逻辑判断失误导致的内存越界访问案例分析。
Week 10综合攻防与全课总结
内核溢出初步,全学期漏洞图谱闭环大复盘;期末 CTF 指南。

📋 课程信息

学分
6 Credit Points
含金量
5 / 5
压力指数
5 / 5
课程类型
elective

💬 学生评价

💭

还没有同学评价这门课,成为第一个分享体验的人吧

写点评