20252811 2025-2026-2 《网络攻防实践》课程总结

1. 内容总结

第一次实践:网络攻防实验环境搭建与测试

利用 VMware 虚拟化技术规划了多个虚拟网段,分别部署了 Kali Linux、Windows XP 等渗透测试节点,以及 Metasploitable、Windows 2000 Server 等脆弱目标主机。针对多网段通信问题,我通过配置虚拟路由器、调整网关和静态路由,并反复使用 ping 和 tracert 验证连通性,最终成功实现了蜜网管理平台的访问与全网段的互通。

第二次实践:信息收集与漏洞扫描

我首先运用 whois 和 nslookup 对目标域名进行 DNS 解析与注册信息查询;随后利用 Nmap 对 Metasploitable 靶机进行深度扫描,获取了存活主机、开放端口、服务指纹及操作系统版本。最后,结合 Nessus 漏洞扫描器对目标进行自动化评估,成功定位了系统中存在的未授权访问及高危服务漏洞,完成了从资产发现到风险评估的完整闭环。

第三次实践:网络嗅探与流量分析

本次实验侧重于网络层面的数据捕获与分析。我使用 tcpdump 在 Kali 节点上过滤并抓取 HTTPS 流量,提取了目标 Web 服务器的 IP 集合。在 Wireshark 分析环节,我通过追踪 TCP 流,成功从 TELNET 明文协议中还原了用户的登录凭证,直观验证了明文传输的风险。此外,通过对 listen.pcap 文件的深度取证,结合 Snort 规则与 p0f 被动指纹识别,我精准还原了攻击源的 IP、操作系统类型及扫描策略。

第四次实践:TCP/IP协议攻击

在获取各节点 IP 与 MAC 映射关系后,我使用 netwox 工具集实施了 ARP 缓存毒化、ICMP 路由重定向、SYN Flood 拒绝服务以及 TCP RST 连接阻断攻击,观察到了网络瘫痪和流量劫持现象。随后,利用 Ettercap 开展中间人攻击(MITM),成功实现了 TCP 会话劫持,并截获了目标在 BBS 登录时的明文账号密码。

第五次实践:防火墙与入侵检测

首先在 Kali 中编写 iptables 规则,实现了对 ICMP 探测的屏蔽和对 Apache 80 端口的源 IP 白名单控制。在入侵检测方面,我使用 Snort 对离线 pcap 流量进行规则匹配,成功告警了 Nmap XMAS 扫描和 ARP 欺骗行为。最后,我深入分析了 HoneyWall 蜜网网关的架构,研究了其防火墙策略、数据捕获机制(Sebek)以及防止攻击者利用靶机外连的 Fence 阻断机制。

第六次实践:Windows远程渗透与取证分析

利用 Metasploit 框架加载 MS08-067 漏洞模块,成功对 Win2k 靶机建立 Meterpreter 反向连接,并执行了系统信息收集与文件操作。在取证环节,我通过 Wireshark 还原了攻击者利用 IIS msadc.pl 漏洞入侵的完整流量,梳理了其下载后门工具、提权、枚举用户及清理日志的攻击时间线。在红蓝对抗中,我与队友互换角色,完成了漏洞利用与防守流量分析的双重体验。

第七次实践:Linux渗透与攻防对抗

本次实践针对 Linux 环境下的服务漏洞展开。在确认网络连通后,我利用 Metasploit 触发了 Samba 的 usermap_script 漏洞获取初始权限。在对抗环节,选择 vsftpd 2.3.4 后门漏洞作为突破口,通过特定的 USER 命令触发后门,并在 6200 端口建立控制通道,最终拿到 root 权限。防守方面,我通过抓包详细分析了 FTP 协议交互过程及恶意命令的执行载荷,掌握了 Linux 后门流量的特征提取方法。

第八次实践:恶意代码分析与僵尸网络

通过 PE 文件头分析、字符串提取和 PEiD 查壳,判断了样本的基本属性,并使用 UPX 脱壳后导入 IDA Pro 进行反汇编,定位了 RaDa 样本中的远控、截屏和 DDoS 模块。在僵尸网络流量分析中,利用 tcpflow 和 Wireshark 过滤 IRC 控制协议,统计了受控节点数量,并从 445 端口的流量中发现了 PSEXESVC.EXE 写入痕迹,确认了横向移动的成功实施。

第九次实践:缓冲区溢出与Shellcode注入

使用 objdump 反汇编目标程序,理清了 main、foo 和 getShell 函数的栈帧布局。首先通过修改 CALL 指令的机器码偏移量,强制程序跳转至 getShell;接着针对 gets 函数的越界写入缺陷,精确计算了缓冲区到 EIP 寄存器的偏移量,构造 Payload 覆盖返回地址;最后,我编写并注入了自定义的 Shellcode,成功劫持了程序的控制流并弹出系统 Shell。

第十次实践:SQL注入与XSS跨站脚本攻击

在 SQL 注入环节,我通过构造联合查询和逻辑永真语句,绕过了登录验证并篡改了 Users 表中的 salary 字段,随后通过修改 PHP 后端代码引入预编译语句完成了修复。在 XSS 环节,我依次实现了反射型弹窗、存储型 Cookie 窃取、自动加好友及 XSS 蠕虫的跨页面传播,最终通过部署 HTMLawed 插件和配置 CSP(内容安全策略)阻断了恶意脚本的执行。

第十一次实践:浏览器渗透与网页木马分析


我利用 Metasploit 的 MS06-014 模块生成恶意 HTML 页面,当 Win2k 靶机访问后,成功触发 IE 浏览器漏洞并反弹 Shell。在样本分析中,我通过计算 MD5 校验值定位文件,并手动对经过 XXTEA 加密和 packed 混淆的 JavaScript 代码进行了解密与反混淆,还原了木马下载逻辑。在防守视角下,我从 HTTP 流量中提取了挂马 URL,完成了漏洞特征的提取与研判。


2. 最喜欢且做得最好的实践是哪次?为什么?

我最喜欢的实验且做的最好的实验是实验11,原因如下:

一小部分原因是实验11刚刚做完不久,其他实验较早,具体的细节已经记不太清了,不过实验11确实下的功夫比较多。印象最深刻的就是在分析木马自动下载的文件时,发现4种文件的MD5值都是相同的,这给了我之后大规模分析文件的灵感,可以通过比较文件的MD5值来快速辨别和分类相同的文件,从而节约大量的人力物力。

此外,在编写钓鱼邮件的脚本时,一方面要在钓鱼对象点击链接时确保其能访问多个攻击链接,又要兼顾Win2k的浏览器兼容性,使用匹配浏览器功能的脚本函数。这也给了我许多启发,可以制作出更具自适应能力和隐蔽性的自动化钓鱼测试工具。通过动态探测目标环境,自动匹配并下发最合适的攻击载荷或跳转逻辑,从而在兼顾老旧系统兼容性的同时,最大化社会工程学攻击的成功率。

除了上述具体的技术启发,实验11带给我最大的收获是构建了完整的“攻防闭环”思维。 从前期的钓鱼邮件构造、木马投递,到后期的木马行为监控、文件特征提取与比对,我完整体验了一次真实的攻击链与恶意代码分析流程。特别是在Win2k这样老旧且受限的环境下反复调试脚本并最终跑通的过程,极大地锻炼了我的耐心与逆向排错能力。



3. 本门课学到的知识总结

3.1 安全加固和检测技术

这部分内容贯穿了本学期的多次实践,主要集中在安全检测工具的使用和系统防御配置上,通过反复操作,对网络攻防的底层逻辑有了更具体的认识。

在主动探测方面,Nmap 是使用的核心工具。主机发现不仅依赖简单的 ping,还会结合 ICMP Echo 和 TCP ACK 来综合判断存活状态。在进行 TCP SYN 扫描时,由于只完成前两次握手,不在目标系统留下完整的连接日志,这种半开扫描在实战中隐蔽性更好。操作系统识别主要是通过分析 TTL 值、窗口大小等协议栈指纹来匹配内置库,但在实践中发现这并不绝对准确,比如 Linux 靶机如果运行了 Samba 服务,有时会被误判为 Windows,因此需要结合服务版本探测的结果进行交叉验证。漏洞扫描方面,使用了 Nessus 这类工具,直接输出风险等级和修复建议。不过扫描器给出的通常是“可能存在”的风险提示,具体的漏洞可利用性仍需人工进一步验证。

tcpdump 更适合在命令行环境下快速抓取特定条件的流量,而 Wireshark 则便于逐层分析协议字段和还原会话。在使用 Wireshark 时,通过编写显示过滤器(如指定特定端口或组合 IP 地址)能大幅提高分析效率。在分析 Telnet 流量时,可以明显观察到其逐字符明文传输的机制,用户名和密码的每个字符都对应独立的 TCP 包,极易被中间人截获凭证。

在防御和检测配置上,主要是iptables 和 Snort防火墙和入侵检测工具 ,配置 iptables 时,容易在规则链和匹配顺序上出错。例如,规则是按顺序匹配且命中即止的,如果将 DROP 规则写在 ACCEPT 之前,会导致白名单策略直接失效。还需要注意 iptables 规则默认保存在内存中,重启后会丢失,必须通过 iptables-save 和相关持久化服务进行保存。Snort 作为入侵检测系统,其核心是通过预定义的规则和统计特征来匹配可疑行为。

安全加固的核心思路可以归纳为减少攻击面和阻断攻击路径,具体措施包括:关闭非必要端口和服务、限制服务访问来源,比如配置白名单、及时修补已知漏洞、禁用不安全的明文协议、部署 IDS 监控异常流量,以及保留系统日志用于事后取证。这些手段相互配合,才能构建起相对完整的基础防御体系。

3.2 Web安全技术

Web安全算是这学期实验里最直观、也最容易看出破坏力的部分。以前总觉得Web漏洞只是理论上的概念,但做完第10次和第11次的几个实验后,才算真正弄明白了这些攻击是怎么在浏览器和服务器之间运作的。

最先接触的是SQL注入。说白了,就是后端开发时没处理好,直接把用户输入拼接进了SQL语句。做实验时,只要在输入框里构造单引号来闭合语句,再加个注释符截断后面的代码,原本正常的查询逻辑就被改变了。不仅能直接绕过登录验证,还能把数据库里的账号、身份证号甚至账户余额等敏感信息全查出来。在学防御方案时我意识到,单纯靠限制输入长度或过滤关键字很容易被绕过,最根本的解决办法还是使用预编译语句,强制把代码逻辑和用户数据分开,让数据库只把输入当作普通字符串处理。

到了第11次实验的网页木马和浏览器渗透部分,我的关注点从单纯的“表单输入”扩展到了整个客户端执行环境。我发现攻击者有时根本不需要用户输入任何数据,只需在网页中嵌入隐藏的 iframe、使用高度混淆的 JavaScript,就能在用户毫无察觉的情况下完成攻击。这让我深刻认识到,Web安全不能只盯着后端的输入输出校验,前端脚本的加载链路和浏览器本身的执行环境同样是防御的重灾区。通过这几次实验,我算是把Web攻击从输入点、执行环境到最终危害的整条链路在脑子里理顺了。

3.3 逆向分析技术

逆向分析这部分算是整个课程里门槛相对较高、也最考验耐心的内容。做这部分实验时,我最大的体会是必须把静态分析和动态调试结合起来看。静态分析就是不运行程序,直接去扒它的 PE 或 ELF 文件结构,看节区、入口点和导入表,提取明文字符串;动态分析则是把程序扔进受控环境里跑,用 x64dbg 这类调试器下断点、盯寄存器,监控它运行时的真实行为。

工具方面,IDA Pro 绝对是主力,刚开始直接看汇编代码很头疼,后来学会了看控制流图和函数调用图,再配合字符串交叉引用,理顺程序逻辑就快多了。辅助工具像 file 看文件类型、strings 提取可打印字符串、PEiD 查壳,在前期信息收集阶段非常实用。

加壳和脱壳是逆向绕不开的基础。很多恶意代码为了对抗分析都会加壳,像 UPX 这种压缩壳是在运行时把代码解压到内存,而更复杂的加密壳还会带反调试和虚拟机保护。在第八次实践分析 RaDa.exe 样本时,我先用 PEiD 查出它是 UPX 加壳,将其脱壳还原出真实代码后,再结合 strings 和 IDA 顺藤摸瓜,不仅找到了作者的版权信息,还分析出了它的后门行为逻辑,理清了它是如何修改注册表实现自启动、建立网络通信以及执行远程命令的。

通过这几次逆向实验,我算是初步建立起了恶意代码行为识别的能力。虽然离真正的高级逆向还有距离,但至少现在拿到一个未知的可执行文件,知道该怎么查壳、脱壳,怎么通过静态反汇编和动态调试去摸清它的核心逻辑了。

3.4 主流代码审计技术

代码审计这部分,虽然课程里没有安排单独的大型综合项目,但在之前做 SQL 注入和 XSS 实验时,通过阅读 PHP 源码,我已经切实感受到了它的重要性。看着那些未经处理就直接拼接进 SQL 语句的用户输入,漏洞的产生过程一目了然。

真正决定审计质量的还是人工精读,尤其是针对登录、支付、资料修改等高敏感业务代码。在代码层面,我会重点盯防 exec、eval、system 这类高危系统调用函数。这些函数能直接执行操作系统底层命令,如果入参接收了外部可控数据且没做严格的白名单限制,攻击者很容易拼接恶意指令触发命令注入。在业务逻辑层面,像越权访问、密码重置流程缺陷、前端直接篡改金额这类隐性漏洞,自动化工具根本扫不出来,必须靠人工去一步步梳理业务流程才能发现。

通过这些训练,我深刻认识到代码审计的价值,在项目上线前把源码里的雷排掉,远比事后去应急响应要有效得多。

3.5 程序设计

C/C++ 语言方面,收获最大的是第九次实践里的缓冲区溢出。以前对内存越界只是个模糊的概念,这次是在内存层面真正看清了栈的布局:栈区从低地址到高地址依次存放局部变量、ebp 和返回地址。当程序调用gets或 strcpy这类缺乏边界检查的函数时,超长的输入就会顺着局部变量一路向上覆盖,最终篡改返回地址,实现控制流劫持并跳转到 getShell。这不仅让我明白了不安全字符串操作的破坏力,也为后续做逆向分析补齐了底层基础。

Python 则是做安全实验时最实用的辅助工具。比如用 requests 库写一些简单的网页源码抓取和漏洞验证脚本,能快速完成前期的信息探测。在网络协议分析上,我熟悉了scapy库的基本语法。在研究 ARP 欺骗脚本时,我不仅看懂了它批量构造伪造 ARP 应答包的原理,还能根据靶机的实际网络环境去修改脚本中的 IP 和 MAC 参数,让脚本真正跑起来。

3.6 计算机病毒技术

这部分内容让我对恶意代码的分类和运作机制有了比较清晰的认识。以前对病毒、蠕虫和木马的概念有些混淆,结合实验才真正理清它们的边界:病毒通常需要寄生在正常的宿主文件上;蠕虫能够独立存在,并主动利用网络漏洞进行自我复制和传播;木马则偏向于伪装成正常软件,在后台偷偷建立连接。比如第八次实践分析的 RaDa 样本,就是一个典型的后门木马,它伪装成普通文件,运行后会在后台连接远程服务器接收指令、上传下载文件;而第十次实践的 XSS 蠕虫,则直观展示了蠕虫不依赖宿主、通过网络自主扩散的特性。

在传播途径上,课程里的几个实验基本覆盖了主流的攻击方式,最直接的是利用漏洞远程执行代码,像第六、七次实践利用的 MS08-067 和 Samba 漏洞,以及第十一次利用的 MS06-014 浏览器漏洞。另一种常见方式是网页挂马,用户只要访问恶意页面,就可能在不知情的情况下触发浏览器漏洞,自动下载并执行木马完成回连。此外,XSS 蠕虫利用好友关系链进行社交传播,也展示了恶意代码在应用层的扩散能力。

为了长期潜伏,恶意代码的隐藏和持久化手段非常多样。除了修改注册表 Run 键值实现开机自启、创建计划任务或系统服务外,进程注入也是将恶意代码藏进合法进程的常用手法。

在防范与检测方面,了解到传统杀毒软件主要依赖特征码匹配和启发式检测。但面对未知威胁,沙箱隔离和动态行为监控显得更为关键,将可疑程序放在隔离环境中运行并观察其真实行为,往往比单纯的静态查杀更有效。

3.7 网络溯源及防范技术

网络溯源和取证分析的能力,其实不是靠某一次实验突击出来的,而是贯穿了这学期好几次流量分析和日志审计的实践。从第3次分析 listen.cap 定位扫描源 IP,到第5次看 Snort 告警日志,再到第6、7、11次的复杂流量取证,我的分析思路经历了一个挺明显的转变。

看 pcap 文件时,我慢慢学会了先抓主线:理清谁在访问谁、访问了什么端口、有没有发生跳转或反向连接,以及这些动作的时间顺序。第7次分析 Samba 攻击流量时,重点也不是单独盯着 4444 端口,而是要把前期 139/445 端口的攻击连接和后续的反向 Shell 联系起来。这也让我意识到,取证分析最忌讳的就是看到一个关键词或特征码就直接下结论,必须要有耐心去还原上下文。

看到大量 SYN 包密集访问不同端口就知道是端口扫描,SYN 包不带 ACK 多半是 SYN Flood;如果在 HTTP 请求的参数里看到单引号、SQL 关键字或者 <script>标签,基本就能断定是 SQL 注入或 XSS 尝试。在第6次的蜜罐实验中通过日志完整还原了攻击者的操作链:先利用 Unicode 漏洞打入,接着用 RDS 漏洞提权,然后下载文件、开后门,直到最后才发现自己进了蜜罐。

结合这几次实验,我梳理出了一个比较实用的防御闭环流程:当 IDS产生告警后,人工介入分析日志确认攻击细节,提取出源 IP 和攻击特征,接着用 iptables 封禁 IP 或在蜜网网关上配置黑白名单进行拦截,最后还要排查内网是否有主机已经失陷。

3.8 加密解密技术

虽然没有要求手写底层算法,但我理清了对称加密和非对称加密的核心差异与应用场景。对称加密加解密共用一把密钥,处理速度快,是大量数据加密传输的基础;非对称加密采用公私钥对,解决了密钥安全分发的问题。结合日常的网络访问,我进一步理解了 HTTPS/SSL 握手中的证书验证与密钥交换流程,也弄明白了数字签名是如何将哈希算法与非对称加密结合来实现防篡改验证的。

以前容易把哈希和加密混为一谈,现在真正理解了哈希是单向不可逆的,它本质上是数据的“指纹”。比如在 SQL Lab 中遇到了 SHA1 的密码哈希,在逆向分析时用 MD5 来确认恶意样本的唯一性。第 11 次网页挂马实验中,攻击者将 URL 进行 MD5 运算后,直接作为文件名去 hashed 目录提取恶意文件,这种利用哈希做映射的手法让我印象很深。

在分析网页木马流量时,我碰到了十六进制(\x)、八进制、Base64、XXTEA等各种混淆手段。应对这种多层嵌套,只能耐着性子逐层解码。每剥开一层,都要重点观察是否暴露出 eval、document.write或是新的外部链接。刚开始面对满屏乱码确实容易烦躁,但只要坚持一层层解下去,最终都能还原出真实的脚本逻辑。

3.9 信息系统运行维护

在虚拟化和网络配置方面,第一次实验算是把 VMware 的几种网络模式彻底摸清了。从规划子网、配置静态 IP 和网关,到给 HoneyWall 配置复杂的三网卡环境,这些操作让我对底层网络拓扑有了很直观的理解。如果一开始网络模式选错或者网关没配对,导致目标网络不可达,后面用 Nmap 或 Nessus 扫描时工具再厉害也白搭。

Linux 系统的日常运维和故障排查贯穿了后续的每一次实验。比如在第十次 SEED Lab 里,需要手动启动 Apache 和 MySQL 服务、配置 Web 环境;在第五次配置 iptables 和 HoneyWall 时,必须时刻关注系统的网络状态和规则加载情况。在这个过程中,我逐渐熟练掌握了查看网卡状态、测试网络连通性、检查端口占用以及处理文件权限等常用 Linux 命令。

以前实验跑不出结果,我总以为是自己的攻击 payload 写错了或者漏洞不存在。后来排查多了才发现,绝大多数“失败”其实是基础运维问题:比如服务根本没启动、IP 地址冲突、端口被其他进程占用,或者是当前用户权限不足。这也让我养成了写命令前先加sudo、看系统日志排错的习惯。

3.10 网络协议分析

网络协议分析是整个课程的基础底座。以前看书学 TCP/IP 和 HTTP 协议,总觉得那些握手过程和状态码很抽象,但这学期通过 Wireshark 反复抓包对照,算是把这些理论真正在流量层面“看”到了。

在传输层和网络层,TCP 的三次握手和连接管理是分析的重点。如果只有前两次握手而没有第三次,连接就没有真正建立,这正是 SYN Flood 攻击的原理——利用大量半开连接耗尽服务器资源。除了 TCP 和 UDP 的无连接特性,我还分析了 ARP 欺骗、ICMP 重定向、TCP RST 断连以及会话劫持等底层协议攻击,弄明白了它们是如何利用协议设计本身的缺陷或信任机制来做文章的。

到了应用层,对于 HTTP,我不再只是死记硬背状态码,而是结合请求方法和头部字段,能完整还原一次 Web 交互。更重要的是,通过对比 HTTP 和 HTTPS 流量,我直观感受到了明文传输的风险,也看懂了 HTTPS 中 SSL/TLS 握手交换密钥和证书验证的过程,学会了在 Wireshark 中快速区分加密和明文流量。

3.11 数据库

数据库这部分的学习,其实主要是和前面的 Web 安全实验紧密绑定在一起的。为了构造各种注入 payload,我重新捡起了 MySQL 的基本操作,从简单的增删改查到多表联查、条件筛选都实操了一遍。

印象最深的是在 SQL 注入实验里,当我通过构造语句成功把 数据全查出来时,看着屏幕上明晃晃的用户名、密码、工资,让我彻底意识到,数据库绝不仅仅是个后台仓库,它往往是攻击者费尽心机想要“拖库”的终极目标。一旦 Web 应用没处理好输入,整个数据库的核心资产就等于在裸奔。

代码层面,最根本的防御还是得靠预编译,强制把数据和 SQL 逻辑分开。而在数据库自身的权限管理上,使用“最小化原则”,即普通的业务连接账号只给必要的读写权限,绝对不能授予 DROP、ALTER 这种能直接毁库的高危权限。同时,像密码这种敏感字段坚决不能明文存储,必须采用加盐哈希来处理,并且要隐藏数据库的详细报错信息,防止攻击者借此探测表结构。

3.12 法律

结合这些实操体验,我系统学习了网络安全领域的“三法两条例”——即《网络安全法》《数据安全法》《个人信息保护法》,以及《关键信息基础设施安全保护条例》和《网络数据安全管理条例》等相关法规。学这些绝对不是为了应付考试去死记硬背条文,而是为了在心里划定一条清晰的红线。从法律角度来看,未经授权去扫描探测、入侵系统、窃取或篡改数据、传播恶意代码,都会面临严重的法律后果。

3.13 基础

回顾这门课,我觉得它带给我最大的收获,其实并不是让我“熟练掌握了多少个安全工具”,而是像一次大复习,把我以前学过的那些零散的基础知识全部串联了起来,让我真真切切地重新意识到了底层基础的重要性。安全工具永远在迭代更新,但支撑这些工具运行、决定我们能不能看懂底层逻辑的计算机基础,才是真正带不走的硬实力。


4. 课堂的收获与不足

做完这11次实验,敲下这份总结的时候,最大的感觉就像是梦回了本科。研一再上这种硬核实验课,前期真的被配环境折磨得不轻。虚拟机连不上网、IP配错一个数字、工具装不上、命令敲错一个字母,有时候实验还没开始,环境就先让人崩溃了。但做实验就是这样,越卡越不甘心,等到最后网络 ping 通了、Shell 弹出来了、Wireshark 终于抓到想看的包了,前面熬的夜也就觉得值了。

在这个过程中,课程要求的英语打卡和写博客也慢慢变成了我的习惯。一开始觉得背单词是形式任务,后来查报错、读英文文档时才发现,安全这条路绕不开英文,多认识几个专业单词真的能少卡一会。写博客也从最初的“交作业截图”,变成了逼自己复盘“到底做了什么、哪里踩坑了、哪里还没懂”的有效手段,算是这门课带给我的一个意外收获。

这学期最核心的收获,是把以前课本上干巴巴的理论真正落地了。以前背 TCP 三次握手、栈帧结构总觉得隔层纱,直到用 SYN Flood 把靶机打瘫,才彻底明白半连接队列是怎么回事;在 pwn1 里亲手改掉返回地址跳转 getShell,栈溢出的原理瞬间就通了。

当然,回过头看,做得不够的地方也很明显。首先是深度不够,很多实验虽然跟着教程跑通了,但底层原理没完全吃透,比如 Shellcode 的机器码是怎么手写的、栈上具体每个字节是怎么被覆盖的,很多时候还是一知半解,后续得补补操作系统和编译原理的基础。其次是实战经验欠缺,课上的靶机都是提前配好且明确告知漏洞的,真扔到完全陌生的环境去盲打踩点,估计还差得远,以后得找些 CTF 平台多练练。另外,攻防有些失衡,用 Metasploit 攻击比较顺手,但一写 Snort 规则或配复杂的 iptables 策略就有些手生。最后,课程用的 Win2000等环境确实有些年头了,虽然学经典漏洞很好,但现代系统的防护机制强了很多,后续还得自己去跟进新技术和新工具。

虽然这门课不轻松,甚至有些时候挺折磨人,但确实让我学到了真东西。这种从攻击者找弱点、防御者做对策、分析者还原真相的思维方式,不管以后是否专门从事安全工作,都非常受用。最后,真心感谢王老师这学期的耐心指导与关心!

posted @ 2026-06-21 20:23  dyf12345  阅读(7)  评论(0)    收藏  举报