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

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

1、内容总结

第一次实践 蜜网环境搭建与网络配置

实验过程

第一次实践在VMWare Workstations上搭建网络攻防实验所需的环境。根据指导资料,按照拓扑图,攻击区走 VMnet8,安装了 Kali、WinXP Attacker、SEED Ubuntu;蜜罐区走 VMnet1,安装了 Linux Metasploitable 和 Win2kServer;中间用蜜网网关做透明网桥桥接两个区域,eth2 单独做管理口。进行虚拟网卡、网关的配置,确保虚拟机之间能够互相联通。


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

实验过程

这次实践我学习了攻击前的踩点,进行网络信息收集和目标主机的漏洞扫描。通过ip查询工具,先对 baidu.com 做 whois 查询,查到该域名的注册人和联系方式、对应的ip和ip对应的国家等信息。接着我尝试获取 QQ 好友 IP,跟我的朋友打了个语音电话,打开资源监视器在网络活动里找到 QQ 进程的 TCP 连接,查出一个河北的 IP,跟他的实际位置对上了。

然后我用 Nmap 扫描靶机,用不同的指令查看主机是否活跃、扫描开放端口、操作系统、识别服务等。我还使用Nessus 扫描漏洞,得出的报告里列出了 SSH 和 mDNS 的漏洞以及攻击路径思路。最后用搜索引擎搜自己名字,确认没有隐私泄漏的问题。


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

实验过程

这次实践分为三部分:tcpdump 抓包、Wireshark 分析 Telnet、listen.pcap 取证分析。

tcpdump 部分,用过滤表达式匹配 SYN+ACK 标志位抓 HTTP 流量,抓住了四个 Web 服务器 IP。Wireshark 部分用 Telnet 登录水木清华 BBS,通过对捕获的数据包进行分析,提取到了用户名和整个登录过程的明文,这个实践让我对"明文协议不安全"有了真实的体验。取证分析中我借助Wireshark对pcap文件进行分析,锁定了攻击主机和蜜罐主机的IP;用 p0f 识别判断扫描工具和方法,以及攻击主机的操作系统等信息。


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

实验过程

这次实践把 TCP/IP 协议栈的几个经典攻击进行了实践:

ARP 缓存欺骗我用的是 Bettercap。一开始想用arpspoof进行实践,结果 apt 安装时出现了问题,提示会删掉整个图形桌面,我赶紧停止换用 Bettercap。通过伪造ARP数据包篡改了靶机的ARP表,欺骗成功后用靶机查询ARP表,网关 MAC 已经变成了攻击机的 MAC。

ICMP 重定向攻击我用的 netwox工具,伪造网关身份给靶机发送伪造的ICMP重定向报文,改变了靶机的默认路由,使网络流量被重定向到攻击机。SYN Flood攻击实验中使用 netwox工具,对靶机 Telnet 端口发海量伪造源 IP 的 SYN 包,Wireshark 里一片红全是 SYN,无法建立新的TCP连接,实现了拒绝服务攻击。TCP RST 攻击用 netwox伪造 RST 包掐断会话,强制终止了靶机上已经建立的TCP连接。

TCP 会话劫持实践中,我在 eth0 上 使用tcpdump 拦截通信,等受害者敲命令触发数据包,从包里拿到源端口、序列号、确认号,然后用 netwox 通过ARP欺骗控制了靶机的TCP连接,并向靶机注入了文件数据。


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

实验过程

这次实践我学习了防火墙配置和入侵检测系统的使用,主要做了三件事:配 iptables、用 Snort 分析流量、读蜜网网关配置。在配置防火墙实验中,通过设置规则完成了对ICMP数据包的过滤,配置完后对方 ping 全部被拒绝,但在本机的 tcpdump中 能看到请求照常到达,只是内核静默丢弃,让对方觉得主机不存在,如果REJECT 则会暴露主机在线。我还配置了IP 白名单:允许特定IP地址访问本机的网络服务,提高主机的安全性。在入侵检测实验中通过snort工具分析 listen.pcap 文件,确认了攻击为端口扫描。蜜网网关配置文件分析中,我了解到防火墙是如何控制网络流量的进出,以及Snort工具的规则,了解了入侵检测系统的配置情况。


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

实验过程

这次实践的内容包含MS08-067 渗透、日志取证和团队对抗。

MS08-067 是 Windows SMB 服务的经典栈溢出,我在Kali 上 Metasploit 搜模块、加载、设载荷、设参数,设置完毕后攻击 WinXP 一直失败,查了一下发现可能是补丁版本已修复,换成 Win2kServer主机后一次攻击就成功了,获取靶机控制权后通过命令验证了攻击的成功 。

取证分析实践中,我分析了一个特定IP地址对蜜罐主机的NT系统的攻击过程。通过Wireshark 打开攻击日志,追踪 HTTP 流还原了一条完整攻击链:攻击者先用 IIS Unicode 目录遍历试探敏感文件,然后用 RDS 漏洞拿到权限,接着 FTP 上传 后门工具,nc 开反向 Shell。最后攻击者还创建了 rfp.txt,内容是"best honeypot i've seen till now 😃",识破了这是个蜜罐。

团队对抗实践我是和许超同学互相攻击。我攻他守、他攻我守,两个角色都体验了一遍。作为攻击方时我利用Metasploit对防守方的靶机进行了MS08-067漏洞攻击,并成功获取了控制权,在靶机中创建自己的文件。作为防守方时,我使用Wireshark监听并分析对方的攻击过程,提取到了对方的IP地址和攻击方法等信息。


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

实验过程

这次实践主要进行了Linux远程渗透攻击和攻防对抗。靶机 Metasploitable 上跑着有漏洞的 Samba 服务,在linux攻击机上找到靶机上的Samba服务的Usermap Script漏洞,设置攻击参数,用正向连接攻击成功。获取靶机控制权后验证了攻击结果。

在攻防对抗中,我利用Metasploit对靶机进行了渗透攻击。在防守方抓包时,使用Wireshark 过滤攻击机和靶机之间的流量,攻击走 445 端口(Samba 默认端口),追踪 SMB 协议的 TCP 流能看到攻击机让靶机连回 4444 端口建 Shell,Shell 里敲的所有命令也全在明文流量里。这说明了SMB 协议本身没有加密,在攻击方拿到 Shell 后如果不用加密信道,操作命令也会全部暴露。


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

实验过程

这次实验涵盖恶意代码分析、逆向练习与网络流量分析。对RaDa.exe样本,经file、strings和PEiD识别为UPX加壳的32位PE,脱壳后字符串暴露注册表、URL及函数,IDA Pro定位作者;动态监控发现其通过注册表Run键自启、连接C&C服务器、支持DDoS并查询MAC,定性为远程后门。

随后分析两个crackme程序,通过命令行试探与IDA Pro逆向,定位strcmp处正确参数“I know the secret”及文件名必须为crackmeplease.exe的校验逻辑,在反复验证中掌握逆向思路。

对蜜罐5天流量,因数据量大采用tcpflow及grep、sed等命令行管道统计出3461个僵尸主机,确认165个攻击源IP,其中445端口SMB攻击成功后上传PSEXEC.EXE引发大量4444连接,完整重现了攻击的过程。


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

实验过程

这次实践攻击的是一个叫 pwn1 的 ELF 程序,目标是把正常流程下永远不会执行的 getShell 函数跑起来。

方法一:直接改二进制。objdump 反汇编看地址,vim :%!xxd 转十六进制,算好跳转偏移量把 call 指令的目标改成 getShell 地址,然后:%!xxd -r 还原二进制后保存。中间经历过一次文件损坏,原因是忘记还原就直接保存了,objdump 报 file format not recognized,只好重来。

方法二:利用 foo 函数的缓冲区溢出。objdump 看栈帧分配了 32 字节,用 Perl 构造 Payload——32 个 A 填满缓冲区覆盖 EBP,后面 4 字节是 getShell 地址的小端序。(cat input_gh; cat) | ./pwn1 执行,溢出后 EIP 被劫持到 getShell。

方法三:注入自定义 Shellcode。先关 NX(execstack -s)和 ASLR(关地址随机化),构造 Payload:32 个 A + 占位返回地址 + NOP 滑板 + 真正的 Shellcode。用 GDB attach 进程,disassemble、设断点、info r esp 看栈地址、算出 Shellcode 的准确位置,生成最终 Payload 执行后拿到 Shell。这次实践让我第一次直面栈帧布局、返回地址覆盖、EIP 劫持,也理解了 ASLR 和 NX 为什么能有效防缓冲区溢出。


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

实验过程

本次实验在 SEED Ubuntu 环境中围绕 Web 安全两大经典漏洞展开。SQL 注入部分,基于员工管理系统,通过审计 unsafe_home.php 发现用户输入被直接拼入 SQL 语句。使用 Admin'# 作用户名,以 # 注释掉后续密码校验,绕过认证进入管理员界面;再利用 UPDATE 注入,在昵称处注入 ',Salary='20252913' WHERE name='Admin';#,闭合引号并追加更新逻辑,成功篡改管理员薪资。防御上采用 prepare 预编译与 bind_param 参数绑定,使输入不再作为 SQL 指令解析,Admin'# 攻击随之失效。XSS 部分,在 Elgg 平台上开展,于个人简介字段写入 <script>alert("20252913gh")</script> 实施存储型 XSS,每次访问主页即弹窗;进一步编写脚本窃取 cookie 并发送至攻击者,实现无需受害者干预即可添加好友、篡改资料,进而组合成自我传播的 XSS 蠕虫,最后通过浏览器设置对抗了XSS攻击。


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

实验过程

本次实验围绕浏览器渗透攻击与网页木马取证分析展开。攻击环节利用了微软安全公告MS06-014中描述的浏览器漏洞,通过Metasploit配置攻击参数后生成恶意网址,靶机访问后页面仅显示乱码,攻击机则成功获取shell命令行会话在靶机执行命令。

在取证分析实践中:从入口页面发现内嵌框架加载了另一个页面,该页面通过计算两个链接地址的散列值,在散列文件目录中定位并下载对应文件。其中一个文件经特定加密算法与编码双重保护,用密钥解密后得到一段探测脚本,该脚本利用异常捕获依次检测系统是否存在多个有漏洞的控件,并根据检测结果加载不同攻击脚本:有的负责下载恶意程序并伪装为系统文件,有的在解混淆后呈现堆喷射与攻击载荷代码,还有的攻击载荷经八进制和统一码双层编码以躲避检测。对可执行程序的分析显示,有三个样本散列值一致,均为同一开发工具编译且未加壳,反汇编字符串中可见自动运行配置文件、修改系统时间至1981年以停用安全软件、终止浏览器进程并针对杀毒软件驱动进行对抗,以及通过修改服务配置实现持久化等行为。另有一个程序带有压缩壳,脱壳后进一步暴露自我删除、注册表自启动、伪装控件和窗口钩子窃取信息等功能,完整还原了从漏洞利用到长期控制的攻击链条。

在web 浏览器渗透攻防对抗实践中,攻击方利用渗透测试框架,针对至少两款不同网络浏览器的安全漏洞生成利用代码,经混淆处理后嵌入恶意链接,通过欺诈邮件发送;防守方则需提取邮件中的挂马链接,进行解混淆以还原代码原貌,并剖析攻击所利用的浏览器软件及其具体漏洞。


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

第八次实践,我选这次有几个原因。

第一是内容最密集。从 PE 文件识别、UPX 脱壳、IDA Pro 逆向、恶意行为分析,到 IRC 僵尸网络的真实流量分析,一条线串下来,几乎覆盖了恶意代码分析的全部核心技能。

第二是脱壳:让我有看见真相的感觉。脱壳前 strings 输出一堆乱码,脱壳后函数名、注册表项、下载 URL和作者署名"Raul Siles & David Perez"全部都能看到。这种冲击让我一下就记住了加壳的意义和脱壳的价值。

Crackme 的逆向也很有意思。不是对着教程一步步过,而是自己先在命令行里跑不同参数看反应,然后上 IDA Pro 看 Strings、看函数调用图、看流程图,猜出正确参数再去验证。crackme2.exe 多了一个文件名校验,开始怎么试都不对,后来在流程图里发现 strstr 调用才意识到程序在检查调用名。这种"猜-验证-发现新线索-再猜"的循环,让我觉得自己真的在逆向分析,而不是在执行操作步骤。

僵尸网络流量分析也让我学到了实战技巧,3461 个僵尸主机数量出来的时候,我第一次对僵尸网络的规模有了直观感受。

这次实践我投入的时间和思考是最多的,也是我觉得最有意思的一次实践,所以第八次实践是我最喜欢的且做的最好的一次实践。


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

一、蜜网环境搭建与网络配置

  • 虚拟网络架构:理解 NAT 模式(虚拟机通过宿主机做地址转换)、仅主机模式(完全隔离只能内部通信)、桥接模式(虚拟机直接连物理网络)的区别和适用场景。
  • 子网划分:把 /24 拆成两个 /25,掩码怎么算,广播地址怎么填。
  • 透明网桥:二层转发、不设 IP、攻击方感知不到桥的存在,管理流量走单独的 eth2 口实现数据面和管理面分离。
  • Linux 运维基础:sudo、vim 编辑配置、ifconfig 设 IP、修改 /etc/rc.local 开机自动配网、tcpdump 抓包测连通性。
  • 关键攻防工具

​ Nmap:网络扫描与主机发现

​ Wireshark:网络流量捕获与分析

实践收获

通过这次实验我对网络攻防有了整体的拓扑概念,了解了靶机、攻击机、蜜网网关各自的角色定位,并掌握了搭建隔离实验环境的基本方法。从 ping 到看 IP 配置到看网关到看虚拟网络编辑器的网络不通的排查过程,虽然折腾,但为后面每次实验的问题排查打下了底子。

二、信息收集与漏洞扫描

  • 被动信息收集:whois 查域名注册信息、nslookup 做 DNS 解析、通过 IP 查地理位置和归属组织。
  • 主动扫描:Nmap 四个核心参数——-sP 主机发现、-sS SYN 半开扫描(只发 SYN 不完成三次握手,更隐蔽)、-O 操作系统识别、-sV 服务版本检测。
  • 漏洞扫描:Nessus 自动化漏洞检测,生成包含漏洞等级、描述、修复建议的扫描报告。
  • 网络溯源意识:TCP 连接是端到端的,不管应用层怎么封装,传输层双方的 IP 是藏不住的。

实践收获

我掌握了信息收集的三个基本技能——DNS 查询、端口扫描、漏洞扫描。通过抓 QQ 好友 IP 那个操作,我切身感受到在网络环境中隐藏自己的位置并不容易。使用 Nmap 和 Nessus 扫描靶机时,发现即使是普通的系统也可能存在诸多安全漏洞,一旦被恶意利用后果严重。搜索网上足迹也让我更加清楚地认识到个人隐私在网络环境中的脆弱性。

三、网络嗅探与流量分析

  • 网络嗅探:通过监听网络接口捕获经过的所有数据包,可以了解网络流量的内容、结构和行为。
  • 协议分析:用 Wireshark 对捕获到的数据包逐层解析,理解通信过程和内容。Follow TCP Stream 功能可以看到完整的会话内容。
  • tcpdump 过滤表达式tcp[13]&18=2 这种表达式涉及 TCP 首部结构:第 13 字节偏移是标志位字段,18(00010010)对应 SYN 和 ACK 同时为 1。
  • 取证分析:tshark 提取字段统计定位主机 → p0f 被动指纹识别判断 OS 和扫描工具 → Wireshark 过滤器组合还原攻击时序。
  • 被动指纹识别(p0f):不主动发包,只监听流量特征就能判断 OS 类型和扫描工具。

实践收获

这次实验最大的收获是学会用 Wireshark"读"懂一份攻击流量文件。通过对 listen.pcap 的逐包分析,SYN → SYN+ACK → RST 的三段式交互让我真正吃透了 SYN 半开扫描的原理。Telnet 明文传输的直观展示让我对"明文协议不安全"有了实感。

四、TCP/IP协议攻击

  • ARP 缓存欺骗:利用 ARP 协议无认证的设计缺陷,伪造 ARP 响应把错误的 MAC 写入对方缓存表,是中间人攻击的第一步。
  • ICMP 重定向:伪造网关身份发 ICMP 重定向报文,利用路由优化机制的信任假设劫持流量。
  • SYN Flood:利用 TCP 三次握手资源预先分配的特点,发海量伪造源 IP 的 SYN 包撑爆半开连接队列,实现拒绝服务。
  • TCP RST 攻击:伪造 RST 包强制终止已建立的 TCP 连接,前提是序列号在接收窗口内。
  • TCP 会话劫持:掌握序列号和确认号就能伪造通信任何一方,向会话中注入恶意数据。
  • 工具链:Bettercap 做中间人攻击、netwox 76/78/40/86 号模块分别对应不同攻击手法。

实践收获

这次实验让我对 TCP/IP 协议族有了更深入的理解,TCP/IP 在设计时把安全性放在了功能性和效率之后。ARP 没有认证、ICMP 信任路由消息、TCP 三次握手无法区分正常和恶意 SYN、序列号机制只要猜中就能伪造。这次实验也让我认识到,网络安全防护需要从协议层面进行加固。

五、防火墙与入侵检测

  • iptables 防火墙:通过规则链(INPUT、OUTPUT、FORWARD)对数据包进行过滤、修改和转发。规则按顺序从上到下匹配,ACCEPT 必须放在 DROP 前面。DROP(静默丢弃让对方觉得主机不存在)和 REJECT(回 ICMP 不可达暴露主机在线)有本质区别。
  • 防火墙的基本功能:对进出网络的流量进行过滤和访问控制,依据预设规则允许或拒绝数据包通过,从而在可信内网与不可信外网之间构建安全边界。它实施状态检测,跟踪连接状态防止非法入侵;执行网络地址转换,隐藏内部拓扑;记录流量日志,为审计和溯源提供依据。此外,还可实现用户认证、应用层过滤及入侵防御等,有效阻断恶意流量和未授权访问,保护内部网络资源与数据安全。
  • Snort 入侵检测:分析网络数据包特征识别攻击行为并生成报警日志。stream_tcp 模块的统计数据可以辅助判断扫描行为。Snort 工作在 IPS 模式时不仅能检测,还能主动丢包或改包。
  • 入侵检测技术:入侵检测技术是继防火墙之后的第二道安全闸门,负责对网络或系统进行持续监控,旨在发现已发生的入侵或正在进行的攻击企图。通过深入分析数据包、日志和系统调用等信息,它能识别端口扫描、缓冲区溢出、后门木马等恶意活动。
  • 蜜网网关协同设计:防火墙做粗筛策略性放行攻击流量但限制出站防跳板,IDS/IPS 做实时深度检测和主动阻断。

实践收获

防火墙和入侵检测是网络安全的两道重要防线。通过对 iptables 规则的设置,我理解了如何根据实际需求实现访问控制;通过对 Snort 的配置和使用,我学会了如何从统计数据推断攻击行为。蜜网网关的配置文件分析则让我看到了防火墙和 IDS/IPS 在实际部署中的协同工作方式。

六、Windows远程渗透与取证分析

  • Metasploit 渗透框架:模块化操作思维:search → use → set payload → set options → exploit是渗透测试的标准流程。
  • MS08-067 漏洞:Windows SMB 服务的栈溢出漏洞,利用成功可直接获取远程 Shell。
  • 取证分析:Wireshark 追踪 HTTP 流 → 识别攻击工具特征签名→ 还原攻击时间线:Unicode 遍历探测 → RDS 漏洞利用 → FTP 上传后门 → Netcat 反向 Shell → 后渗透操作 → 识别蜜罐。
  • NT 系统攻击分析:IIS Unicode 目录遍历(%C0%AF/ 的变体编码)、MDAC RDS 漏洞利用、后门植入。
  • 红蓝对抗:攻击者追求快和隐蔽,防守者要在海量流量里找异常点,这是两种完全不同的思维方式。

实践收获

这次实验让我掌握了 Metasploit 攻击链条的基本流程和网络取证分析的方法。取证分析部分通过还原攻击时间线,我第一次完整地"看"到了一个从漏洞利用到后门植入到反取证的完整攻击过程。团队对抗让我体会到了攻防双方的博弈,这种真实的对抗体验是打固定靶机给不了的。

七、Linux渗透与攻防对抗

  • Samba 服务漏洞:Samba 3.0.20-3.0.25c 的 Usermap Script 漏洞(CVE-2007-2442),其成因是服务未正确过滤用户名字段,当使用可自定义的“username map”脚本时,攻击者可注入反引号等Shell元字符,无需认证即可远程执行任意命令,进而获取服务器最高权限。
  • 正向连接与反向连接:反向连接在网络环境受限时可能失败,正向连接更稳定但更容易被防火墙拦截。
  • 流量分析:SMB 协议未加密,攻击载荷明文传输;拿到 Shell 后不用加密信道,操作命令也会全暴露。

实践收获

在渗透攻击实验中,我掌握了如何针对 Linux 系统特定服务漏洞进行攻击并获取访问权限。攻防对抗中,作为攻击方学会了利用漏洞渗透和提升权限,作为防御方学会了用 Wireshark 监听通信、分析攻击行为、提取关键信息为防御提供依据。这种攻防对抗让我意识到在实际网络环境中,攻击者和防御者的技术对抗是不断变化和升级的。

八、恶意代码分析与僵尸网络

  • 恶意代码分析工具链:file 识文件格式 → PEiD 检壳 → 超级巡警/UPX 脱壳 → strings 提字符串 → IDA Pro 静态分析(Strings 窗口、函数调用图、流程图)→ Process Explorer 动态监控。
  • 加壳与脱壳:加壳是恶意代码反分析的常见手段(压缩+混淆),脱壳后才能看到真实的函数调用和字符串。
  • Crackme 逆向:命令行试探 → IDA Pro 看字符串和流程图 → 找到 strcmp 判断逻辑 → 推出正确输入。文件名校验通过 strstr 实现,是另一种反逆向技巧。
  • 恶意代码分类:蠕虫主动传播、病毒寄生感染、后门远程控制,核心区别在于传播方式和感染机制。
  • 僵尸网络分析:IRC 协议作为 C&C 通信方式,基于Snort日志解析IRC协议控制流量,分析僵尸网络结构和攻击者利用的漏洞、攻击手段等。

实践收获

这次实验我学会了恶意代码分析的完整流程和网络数据源分析的方法。脱壳看见真相的那种冲击让我一下就记住了加壳的意义和脱壳的价值。Crackme 逆向中那种"猜-验证-发现新线索-再猜"的循环让我觉得自己真的在逆向分析。

九、缓冲区溢出与Shellcode注入

  • 缓冲区溢出原理:利用程序对缓冲区边界检查不严的缺陷,超长输入覆盖栈上的返回地址,劫持程序执行流。
  • 栈帧布局:局部变量 → EBP → 返回地址,溢出方向是从低地址向高地址覆盖。
  • 十六进制编辑:vim :%!xxd 转十六进制模式直接修改机器码,计算跳转偏移量(目标地址 - 下一条指令地址)。
  • Shellcode:精简的机器码,对应系统调用序列。\x31\xc0\x50\x68\x2f\x2f\x73\x68... 这段对应的是 execve("/bin/sh", NULL, NULL)——清空 eax、push 字符串到栈、传参数、设系统调用号 0x0b、int 0x80 触发。
  • NOP 滑板:不用精确跳到 Shellcode 第一字节,跳到 NOP 区域的任意位置都能滑到 Shellcode。
  • 安全防护机制:ASLR 随机化栈和库加载地址让攻击者猜不到 Shellcode 位置;NX(DEP)让栈上代码不可执行。两者结合大幅提高漏洞利用难度。
  • GDB 调试:attach 进程、disassemble 反汇编、break 设断点、info r 看寄存器、计算地址等操作是二进制漏洞调试的基本功。

实践收获

这次实验让我第一次直面栈帧布局、返回地址覆盖、EIP 劫持这些底层概念。通过三种不同的利用方法:直接改二进制、缓冲区溢出、Shellcode 注入,我从不同角度理解了程序执行流劫持的原理。过程中也复习到了汇编语言和计算机组成原理的相关知识。

十、SQL注入与XSS跨站脚本攻击

  • SQL 注入本质:数据和指令没有分离。用户输入被当成 SQL 语句一部分解析而非纯数据。SELECT 注入用 '# 注释绕过认证;UPDATE 注入用单引号闭合和逗号追加篡改数据。
  • 参数化查询:prepare 预编译 + bind_param 参数绑定是根本修复方案。用户输入变成独立参数,不会被当成 SQL 解析。
  • XSS 攻击递进链:弹窗验证漏洞存在→ 窃取 Cookie配合 nc 监听→ CSRF 结合,抓包分析接口格式和 Token的自动操作→ 蠕虫自传播:读取自身代码注入受害者页面。
  • 存储型 XSS:恶意代码留在服务器上,每个访问的用户都自动中招,危害最大。
  • 数据库操作:MySQL 登录、show databases/tables、select + where 查询、了解表结构设计。

实践收获

SQL 注入实验让我理解了数据与指令分离的重要性,只要用户输入能影响 SQL 语法结构,注入就不可避免。参数化查询是根除方案。XSS 实验从简单弹窗到蠕虫传播的递进让我看清了这类攻击的完整危害链。在本科阶段学过很多前端开发的课程,但关于前端安全性的内容大多停留在理论,这次实验让我真正看到了 Web 应用前端安全的重要性。

十一、浏览器渗透与网页木马分析

  • 浏览器漏洞利用:通过构造恶意网页触发浏览器或其 ActiveX 控件的内存破坏漏洞实现代码执行(MS06-014、MS06-055)。
  • 代码混淆与解密:XXTEA+Base64 双层加密的 JavaScript,通过手动找密钥和在线工具解密;八进制编码和 Unicode 编码(%u)的 Shellcode 需要还原;Packer 混淆器的外层 eval 展开后才是攻击逻辑。
  • 恶意代码同源性判断:MD5 比对判断 bf.exe、pps.exe、bd.exe 是同一文件的三份拷贝。
  • 恶意代码持久化手段:注册表 Run 键自启、服务修改、U 盘传播、系统时间篡改、对抗安全软件等。
  • 取证分析思路:从入口文件入手 → 追踪 iframe/重定向链 → MD5 散列定位加密文件 → 逐层解密 → 静态+动态分析可执行文件。

实践收获

这次实验将浏览器安全和恶意代码分析结合了起来,让我看到了一个完整网页木马攻击场景的全貌:从入口页面到多层重定向、到加密脚本的逐层解密、到根据环境加载不同攻击模块、到最终木马的功能分析。XXTEA+Base64 解密和 Unicode Shellcode 还原这些动手操作,让我对代码混淆在恶意软件中的实际应用有了切身体会。恶意代码的持久化手段也从注册表自启扩展到了服务修改、U 盘传播、系统时间篡改、对抗安全软件等多个维度。


4、课堂的收获与不足

从一开始搭建蜜网环境,到后来做 SQL 注入、XSS 攻击、缓冲区溢出、恶意代码分析,每一次实践都让我跳出理论的框架,在隔离的实验环境里实现真实的攻击和防御。回顾整个课程,我最大的收获不是会用了某个工具,而是建立了一套从攻击到防御再到分析的完整思维框架。

从攻击的角度,我学会了怎样收集目标信息,如DNS 查询、端口扫描、漏洞扫描等、怎样利用协议缺陷和软件漏洞获取权限,如ARP 欺骗、MS08-067、Samba 漏洞、浏览器漏洞、缓冲区溢出等、怎样维持权限如注册表自启、后门植入、C&C 通信等。这套流程不是背下来的,是在反复做了多次实践后内化于心的。

从防御的角度,我理解了防火墙的规则设计、入侵检测、代码加固、系统配置等各自的防护层面和配合关系。

从分析的角度,我掌握了怎样逆向一个未知的二进制程序:脱壳、静态分析、动态监控、功能推断,怎样从一份 pcap 文件还原攻击过程:定位主机、识别工具、分析手法、还原时间线。

在学习的过程中,有一些瞬间让我印象很深。比如做信息收集实验时,通过资源监视器很容易就抓到了同学的 IP 和地理位置:那一刻我意识到,在互联网上保护自己的隐私没有那么容易。做 Telnet 抓包分析时,看着 Follow TCP Stream 里明晃晃的密码,我才真正理解了"明文协议不安全"这句话的重量。做 MS08-067 渗透成功、第一次拿到对方 Shell 的时候,看着屏幕上出现的命令行提示符,我想到一个没打补丁的系统是多么脆弱,让我更加理解了网络安全为什么重要。

另一个重要的收获是排查问题的能力。"网络不通了怎么查":ping 、看 IP 配置、看网关、看防火墙规则、看虚拟网络编辑器。"攻击失败了怎么分析":看漏洞版本是否匹配、看载荷方向是否合适、看监听端口是否被占、看目标系统是否打补丁。"分析卡住了怎么换方法":Wireshark 太卡换命令行、在线工具打不开换离线工具。这些都不在教程里,全是在一次次出错和排查中磨出来的。

然而,在课程的学习中也暴露出我的一些问题和不足之处。首先是在课程的学习中,尽管每次实践也都需要几个小时来完成,但是我对于很多技术点停留在做过了、看到了结果的层面,没有逐一深入的学习,影响了理解的深度。其次,在实践过程中,我对很多工具操作并没有很熟练,还需要在以后进行更加深入的学习和更多的实操训练。

总而言之,通过这门网络攻防实践课程,我收获了很多。虽然未来不一定从事网络安全方面的工作,但在这门课上学到的思维方式:从攻击者的角度去发现弱点、从防御者的角度去设计对策、从分析者的角度去还原真相,这种多视角分析问题的能力,在任何领域都会有用。虽然这门课程结束了,但我以后还会继续关注网络安全与信息安全,保持学习状态,进一步拓宽自己的视野,增长技能。最后,衷心感谢王老师对我们的指导与关心!!


5、参考文献

posted @ 2026-06-03 14:14  G116h6  阅读(7)  评论(0)    收藏  举报