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

1 实验总结

第一次实践:虚拟化蜜网环境搭建
参考链接:虚拟化蜜网环境搭建
本实验围绕HoneyWall蜜网环境展开,目标是在VMware中搭建由攻击机、蜜罐靶机及蜜网网关组成的网络攻防拓扑。通过划分攻击网段与蜜罐网段,将HoneyWall部署于两者之间,实现对攻击流量的转发、监控与管控。实验步骤涵盖虚拟网卡配置、攻击机与靶机IP设定、HoneyWall网关安装及远程管理配置,并进行连通性测试。通过本实验,我复习了计算机网络的相关知识,对于蜜罐网络有了一定的了解,现实场景中可以搭建蜜网环境捕捉攻击者的行为细节。

第二次实践:网络信息收集
参考链接:网络信息收集
本实验聚焦于网络空间信息收集与漏洞扫描,内容包括域名Whois查询、IP地理位置查询、Nmap主机与端口扫描、Nessus漏洞检测。通过本实验,我了解公开网络信息收集的基本方法(实则直接线上工具查询),掌握Nmap、Nessus等常用安全工具的基础使用,并认识开放端口、运行服务与系统漏洞之间的关联。同时,实验也强化了个人信息保护意识(虽然搜索引擎上也并没有我的信息),从攻击者角度理解信息暴露可能引发的安全风险。

第三次实践:网络嗅探与协议分析
参考链接:网络嗅探与协议分析
本实验以网络嗅探与取证分析为核心,使用tcpdump抓包、Wireshark协议分析、观察TELNET明文通信及分析Nmap扫描流量。通过捕获Web访问流量,了解客户端与多服务器间的通信过程;
这是本学期第一次接触wiresark工具,在该工具里实现TELNET登录数据包分析(该协议明文传输),揭示明文协议在身份认证中的安全风险;下载listen.pcap文件取证,掌握依据ARP、ICMP、TCP标志位及端口响应特征还原端口扫描行为的方法。
本实践对于计算机网络的理解需要一定的要求。加深了我对网络协议通信机制、扫描攻击特征及数据包分析方法的理解,提升了利用安全工具进行流量分析与攻击行为识别的能力。

第四次实践:TCP/IP协议栈攻击
参考链接:TCP/IP协议栈攻击
本实验围绕TCP/IP协议栈安全,实施ARP缓存欺骗、ICMP重定向、SYN Flood、TCP RST及TCP会话劫持等典型攻击。
该试验在由多台虚拟机组成的局域网中,借助netwox、ettercap和Wireshark等工具完成攻击与抓包分析,验证了地址解析、路由转发及TCP连接维护过程中存在的安全隐患。
通过本实验,加深了对ARP、ICMP及TCP协议工作机制的认识,掌握常见网络攻击的实现方法与判别技巧,提高攻防环境配置、流量分析及故障排查能力。

第五次实践:防火墙与入侵检测
参考链接:防火墙与入侵检测
本实验以防火墙配置和入侵检测技术为主要内容,包括iptables规则设置、ICMP数据包过滤、特定IP访问FTP服务的控制、Snort对离线pcap文件的入侵检测,以及分析HoneyWall蜜网网关中的防火墙、NIDS和NIPS规则。
通过本实验,可掌握Linux防火墙的基本访问控制方法,理解Snort检测端口扫描与异常TCP报文的过程,并进一步认识蜜网网关中各安全组件的协同工作机制。本实践加深了对网络边界防护、攻击流量检测及蜜网安全控制体系的理解。

第六次实践:Windows系统安全攻防
参考链接:Windows系统安全攻防
本实验以Windows系统远程渗透攻击与安全分析为核心,完成MS08-067漏洞利用、Metasploit远程攻击、Meterpreter反弹连接获取、NT系统破解攻击取证分析及团队攻防对抗。通过本实验,可掌握Metasploit漏洞利用的基本流程,理解SMB服务漏洞引发远程代码执行的风险,并学习利用Wireshark从网络流量中还原攻击过程。本实验加深了对漏洞利用、权限获取、攻击行为分析及防御取证方法的理解,也体现了及时修补系统补丁、关闭高危服务及部署入侵检测机制的重要性。

第七次实践:Linux系统安全攻防
参考链接:Linux系统安全攻防
本实验与实验六过程类似,都是通过msfconsole对目标主机进行渗透,攻击渗透流程的同时最好先去网上了解msf工具构造payload的方式,对漏洞原理有基本的了解。
具体实验流程:Nmap端口与服务扫描(探测主机服务类型和开放端口)、Metasploit利用Samba usermap_script漏洞获取远程Shell,以及Wireshark攻击流量分析。这也是渗透测试里常用的攻击流程。
通过本实验,可掌握Metasploit对Linux靶机进行漏洞利用的基本流程,理解Samba服务漏洞可能导致的远程命令执行风险,并学习从网络流量中还原攻击行为。本实践加深了对Linux渗透测试、漏洞利用条件、攻击权限验证及防守方流量取证方法的理解。

第八次实践:恶意代码分析与僵尸网络
参考链接:恶意代码分析与僵尸网络
本实验对汇编代码与exe文件运行机理的了解提出要求。
以恶意代码分析与僵尸网络取证为核心。
1.对RaDa恶意代码样本进行文件识别、加壳检测、脱壳处理、字符串分析、IDA Pro静态分析、Process Explorer行为观察
2.Crackme程序逆向分析
3.Windows 2000蜜罐僵尸网络流量分析。
通过本实验,我们使用idapro阅读返汇编代码,根据字符串输出逆推程序结构,以及使用动态调试分析可执行文件的功能以及病毒脚本的构造。本实验加深了对逆向工程、僵尸网络通信及网络取证方法的认识,提高了综合分析恶意程序与攻击流量的能力。

第九次实践:缓冲区溢出攻击
参考链接:缓冲区溢出攻击
本实验在实验八的基础上更进一步,围绕Linux二进制程序漏洞利用,完成可执行文件反汇编分析、机器码修改、缓冲区溢出攻击、返回地址覆盖及Shellcode注入运行等操作。通过分析pwn1程序的函数调用关系,理解程序控制流如何由汇编指令与机器码决定;通过构造溢出输入覆盖返回地址,掌握BOF漏洞利用的基本过程;通过注入Shellcode,结合NOP填充、可执行栈及地址定位,理解攻击者如何执行自定义代码。
本实验加深了我对Linux程序运行机制、缓冲区溢出及控制流劫持原理的理解,并说明输入边界检查、栈保护等安全机制在软件防护中的重要作用。

第十次实践:Web安全(SQL注入与XSS)
参考链接:SQL注入与XSS
本实验以Web应用安全为核心,完成SQL注入攻击与防御、XSS跨站脚本攻击与防御两个部分。
通过分析Web后端SQL语句构造方式,理解用户输入未处理直接拼接到SQL语句中可能导致的身份认证绕过、敏感信息泄露及数据库字段篡改等问题;
通过在社交网站中嵌入恶意Js脚本,验证XSS攻击在Cookie窃取、自动添加好友、篡改用户资料及蠕虫传播方面的危害。通过本实验,可掌握常见Web攻击的基本原理与实施过程,并理解参数化查询、输入校验、输出编码、Cookie安全属性设置及最小权限控制等防御措施在Web安全开发中的重要作用。

第十一次实践:Web浏览器渗透攻击与网页木马分析
参考链接:Web浏览器渗透攻击与网页木马分析
本实验以Web浏览器渗透攻击与网页木马取证分析为核心,完成基于Metasploit的MS06-014浏览器漏洞利用、恶意网页构造、反向Shell会话建立、网页木马加载链分析、脚本解混淆、MD5哈希定位恶意文件,以及浏览器渗透攻防对抗实验。
最后一次实践,更加深入理解了浏览器漏洞利用的基本原理,掌握网页挂马攻击中的攻击流程,并学习从HTML、JavaScript及二进制文件中还原恶意代码行为的方法。本实验加深了对客户端漏洞攻击、网页木马传播机制、恶意代码取证分析及防御检测方法的认识,也强调了及时更新浏览器与插件漏洞、限制ActiveX和脚本执行权限、加强恶意链接检测的重要性。

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

第八次实践。
此前的实验大多依托现成工具完成扫描、攻击、流量分析等常规操作,操作相对流出化、知识点也较为集中且常规。而本次实验的有趣之处在于它将恶意代码分析的多种情形进行了覆盖。无论是分析crackme1crackme2时对汇编代码的逐句拆解,还是从成功破解后的程序中挖掘出异或加密的隐藏信息。其中的由浅入深、从静态反汇编到动态调试的递进过程,让逆向分析充满了一种破案般的感觉。

主观感受说完了,最重要的还是其实际收获。我认为这是十一次实验中对计算机本身最贴近的实验,实验涵盖了对汇编代码的阅读理解,了解了常用寄存器的用途与名称,对于栈帧切换push ebp mov ebp, esp等指令形象地在脑子里动画演示,以及对于一个黑盒程序进行一步步抽丝剥茧式的分析。虽然这只是一次入门的可执行程序分析,但是学会了我们应对复杂程序分析的基本流程。
实验还涉及到从脱壳与网络流量抓包的完整技术链,工具组合扎实实用。不满足于简单完成指令,通过IE主动分析了RaDa恶意代码的HTTP通信特征,判定其为后门程序,归类为HTTP僵尸程序。用Wireshark和tcpdump还原了真实攻击场景,学习了僵尸网络的相关知识,排查出遭遇攻击的端口和相关服务,因此,本次实验综合性很强具有一定难度但是对于网安技能的提升大有裨益。

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

3.1 主机发现与漏洞检测技术

工具部分

Nmap 主机端口扫描工具应用广泛。在渗透测试过程里,我们一般先做主机发现(Ping 或 ARP 扫一遍看哪些机器在线),然后扫端口看开放情况,接着做服务版本识别(通过探针匹配判断端口后面跑的是什么服务),最后还可以推断操作系统类型。NSE 脚本引擎可以自动检测已知漏洞。第二次实践还用了 Nessus 做漏洞扫描,跟 Nmap 配合使用效果不错——Nmap 负责发现资产,Nessus 负责找漏洞。

Wireshark 是图形化抓包分析工具,第三次实践用它分析 Web 访问流量、看 TELNET 明文登录的过程(密码直接能看出来,安全隐患很明显),还从 listen.pcap 文件里根据 ARP、ICMP、TCP 标志位还原了端口扫描的全过程。第六、七次实践用 Wireshark 还原 MS08-067 和 Samba 漏洞的攻击流量。

Burp Suite 和 Sqlmap 课程里没有专门安排实践。但第十次实践的 SQL 注入和 XSS, Burp Suite 和 Sqlmap 其实可以发挥很大作用,burpsuite是一个集成化的渗透测试工具,它集合了多种渗透测试组件,使我们自动化地或手工地能更好的完成对web应用的渗透测试和攻击。bp作为网安神器学习使用它非常值得 这里给一个使用教程 https://t0data.gitbooks.io/burpsuite/content/chapter3.html

安全防御策略

安全基线这块,第五次实践配置了 iptables 防火墙规则,做了 ICMP 包过滤(让主机不响应 Ping)、限制特定 IP 才能访问 FTP。第六次实践打 MS08-067 的时候,明显就是因为没打补丁、SMB 服务开着才被利用的,从反面说明了补丁管理和关闭冗余端口的重要性。

加固方案大致是:先扫描找到漏洞 → 根据结果关掉不需要的端口和服务 → 配置防火墙规则 → 部署 Snort 这样的 IDS 做实时监控。第五次实践里的蜜网网关就是一个完整例子,防火墙防止攻击者把蜜罐当跳板,NIDS/NIPS 负责检测和阻断攻击流量。


3.2 Web 安全技术

第十次实践专门做 Web 安全,分了 SQL 注入和 XSS 两个部分。

SQL 注入的核心问题是:后端代码把用户输入直接拼到 SQL 语句里,没有做任何处理。
sql注入通过构造判定语句的闭合导致任何攻击者想要执行的操作都在后端被服务器执行。比如登录的时候,用户名字段输入 ' OR 1=1 --,整个查询逻辑就被改写了,可以绕过认证。再比如用 UNION SELECT 可以把其他表的数据一并查出来。盲注是在没有直接回显的情况下,通过页面返回的布尔差异或者 SLEEP 延时来判断数据内容。修复方法最根本的是参数化查询,让数据和代码彻底分开。

好的,我为您整理了SQL注入和XSS(跨站脚本攻击)的核心知识点精简表格。

3.2.1. SQL注入知识点

类别 核心概念/技术 简要说明
核心原理 数据与代码混淆 将恶意SQL代码拼接到用户输入中,被数据库当作命令执行。
主要危害 数据泄露、篡改、提权 可导致拖库、删表、获取管理员权限,甚至控制服务器。
分类(按数据传递) 数字型/字符型注入 注入点数据类型不同,闭合引号的方式不同。
分类(按反馈结果) 联合查询注入 使用 UNION SELECT 快速获取额外数据。
报错注入 利用数据库报错信息(如updatexml())回显数据。
布尔盲注 根据页面返回的真假(是/否)逐字符猜解数据。
时间盲注 根据页面响应时间的延迟(如sleep())判断条件真假。
关键技术 注释符 -- -#/* */ 用于闭合原SQL语句。
堆叠查询 使用 ; 分隔多条SQL语句(如 ; DROP TABLE users)。
防御手段(根本) 预编译(参数化查询) 最有效。将SQL结构与数据分离,数据不再具有执行能力。

3.2.2. XSS(跨站脚本攻击)知识点

类别 核心概念/技术 简要说明
主要危害 窃取Cookie、劫持会话 盗取用户身份凭证(如document.cookie),冒充用户操作。
钓鱼、挂马、篡改页面 伪造登录框、植入恶意链接、修改网页内容。
分类(按存储方式) 反射型XSS(非持久) 恶意脚本通过URL参数传递,仅触发一次,需诱使用户点击链接。
存储型XSS(持久) 恶意脚本存储在服务器(如数据库),每当用户访问页面时自动执行,危害最大。
DOM型XSS 纯前端漏洞,恶意脚本修改DOM环境,不经过服务器后端处理。
常见注入点 HTML标签属性 <img src=x onerror=alert(1)>
JavaScript代码 "><script>alert(1)</script>
CSS表达式 background:url(javascript:alert(1));(已过时)
防御手段(根本) 输出编码(转义) 最核心。根据输出上下文对特殊字符进行HTML/JS/URL编码。

课程还在 Elgg 平台上做了xss实验。嵌入一段 JS 脚本到个人资料里(存储型),别人访问你的主页就自动执行,可以偷 Cookie、自动加好友、改别人资料。如果脚本里包含自我复制传播的逻辑,就变成了 XSS 蠕虫。反射型是恶意脚本在 URL 参数里,需要骗人点击。DOM 型是纯前端触发,不经过服务器。防御上主要是输入校验、输出编码、Cookie 设 HttpOnly 和 Secure 标记。

CSRF 和文件上传漏洞课程没单独安排实验。防御 CSRF 一般是加 Token、验证 Referer;文件上传主要是后缀白名单和 MIME 类型检查。

第十一次实践做了浏览器漏洞利用,用 Metasploit 的 MS06-014 模块构造恶意网页,访问后触发漏洞下载 Payload 然后反弹 Shell。分析网页木马的时候涉及脚本解混淆、跟踪加载链、MD5 定位恶意文件。


3.3 逆向分析技术

第八次实践对 RaDa 恶意样本做了完整的分析流程:先识别文件类型,再用 PEiD 查壳(看有没有加壳、是什么壳),然后脱壳还原原始程序,接着提取字符串(能直接看到硬编码的 URL、命令等线索),最后用 IDA Pro 做反汇编,看函数调用关系和关键逻辑。

动态调试部分,Crackme 程序逆向的时候设断点、改寄存器来绕过校验分支。Process Explorer 看程序运行时的行为(文件操作、注册表读写),再结合网络流量分析确认它的通信方式(HTTP 还是 IRC)。

第九次实践对 pwn1 程序做反汇编分析,理解 C 代码编译后的汇编形态,看函数怎么调用、返回地址在栈上怎么放的。这是后面做缓冲区溢出的基础。

加壳的原理就是把可执行文件压缩或加密,隐藏真实代码。脱壳是逆向分析的前置步骤,不加壳的程序直接扔 IDA 就能看,加了壳得先脱。


3.4 主流代码审计技术

课程里没有单独安排代码审计的实践,但有几个地方涉及到了相关思路。

SQL 注入(第十次实践)的本质就是代码里把用户输入直接拼 SQL,没过滤。如果用 PHP 写的话可能就是 "SELECT * FROM users WHERE name='$input'" 这种写法——用户输入和代码指令的边界没分开。审计的时候重点就是找这种拼接点。

缓冲区溢出(第九次实践)对应的 C 代码问题就是用了 gets()strcpy() 这类不检查边界的函数。输入超过缓冲区大小就溢出覆盖到返回地址。审计 C 代码的时候,看到这些函数就要注意。

Samba usermap_script 漏洞(第七次实践)本质上也是用户输入传到了外部命令执行的环境里。对应到代码审计,就是要找 exec()system()eval() 这类危险函数的调用点,往前追溯参数是不是来自用户输入。

审计方法有两种:人工审计就是逐行看代码,追踪输入数据从入口到危险函数的路径;工具审计就是用静态分析工具自动扫。实际做的时候一般是两者结合。


3.5 程序设计

课程要求至少掌握一门语言,Python 优先。

Python 在安全方向的应用场景:requests 库可以写爬虫做信息收集,比如自动化 Whois 查询、网页内容抓取;scapy 库可以构造和解析网络包,第四次实践用 netwox 做的 ARP 欺骗、SYN Flood,用 scapy 也能实现,而且更灵活;漏洞利用脚本比如针对 SQL 注入写自动盲注脚本、针对缓冲区溢出写 PoC。

C/C++ 主要是理解底层。第九次实践的缓冲区溢出,需要理解栈帧结构(局部变量怎么放、返回地址在哪)、gets() 为什么危险、Shellcode 是什么(一段机器码,通常是开 Shell 的)、NOP sled 是干什么的(用 0x90 填充一大片区域,增加跳到 Shellcode 的概率)。

PHP 的话,第十次实践的 Web 后端就是 PHP 写的,理解 SQL 拼接问题的代码层面成因。输出编码那块,htmlspecialchars() 可以防 XSS。

课程里工具使用比较多(Metasploit、Nmap、Wireshark),自动化工具开发还需要自己扩展。


3.6 计算机病毒技术

第八次实践分析了 RaDa 样本,它实际上是一个后门/木马程序——伪装成正常文件,运行后会连接远程服务器接收命令、上传下载文件。第十次实践的 XSS 蠕虫则是蠕虫的典型例子,不依赖宿主文件,通过网络自主传播。

传播途径课程里涉及了三种:

漏洞利用传播——MS08-067 利用 SMB 漏洞(第六次),Samba usermap_script 漏洞(第七次),MS06-014 浏览器漏洞(第十一次),都是利用服务端或客户端的漏洞远程执行代码。

网页挂马传播——第十一次实践分析的那个流程:用户访问恶意页面 → 触发浏览器漏洞 → 自动下载木马 → 执行并回连。整个过程用户可能完全不知道。

邮件/社交传播——XSS 蠕虫通过好友关系链传播(第十次实践)。

隐藏方式在第十一周总结里列了不少:注册表 Run 项开机自启、创建计划任务或服务、进程注入、隐蔽通信(HTTP/DNS 隧道、DGA 域名生成、加密流量)。

防范措施:杀软靠特征码匹配和启发式检测;沙箱是在隔离环境跑可疑程序看行为;第十一次实践用 MD5 哈希定位恶意文件就是特征码的思路。另外及时打补丁、关高危服务、限制脚本执行权限也很关键。
还学习到了僵尸网络(Botnet)的概念。这是由被植入僵尸程序的大量主机组成的受控网络,攻击者通过命令控制服务器(C&C Server)集中操控所有僵尸主机发起DDoS攻击、垃圾邮件发送等大规模恶意行为。IRC协议是僵尸网络常用的通信协议,僵尸主机通过加入特定IRC频道接收攻击者的控制指令。


3.7 网络溯源及防范技术

第三次实践的 listen.pcap 取证分析是一个典型的溯源场景:根据包里 ARP、ICMP、TCP 标志位和端口响应特征,还原出攻击者做了端口扫描,能看到源 IP 和扫描的时间线。第六、七次实践用 Wireshark 从流量里还原完整攻击过程,也是同样的思路。

常见攻击手法的流量特征:

端口扫描——短时间同一源 IP 访问大量目标端口,SYN 发过去 RST 回来说明端口关闭。

SYN Flood——海量 SYN 包,不回应 ACK,大量半开连接。

ARP 欺骗——网络中突然出现异常的 ARP 应答,IP 和 MAC 对应关系跟正常的不一样。

溯源工具方面,Snort 设成 NIDS 模式,实时流量跟规则库比对,匹配就告警并记录。蜜网网关里的 IDS 功能也是类似的,抓攻击流量留着事后分析。ELK 日志分析课程没涉及,但原理是把分散的日志集中起来做关联分析。

防御策略:iptables 直接按 IP 封(第五次实践);Snort 检测到异常就告警然后联动防火墙阻断;流量清洗是大规模 DDoS 场景的应对方式。


3.8 加密解密技术

课程实践直接涉及加密的内容不多。

第三次实践抓 TELNET 的包,登录密码直接明文显示,从反面说明了加密通信的必要性——SSH 替 TELNET 就是因为有加密。

第十一次实践用 MD5 算恶意文件的哈希值然后去数据库里匹配定位,这说明哈希可以唯一标识文件,常用于恶意代码库的特征匹配。

对称加密(AES、DES)和非对称加密(RSA、ECC)我所熟知的算法在课程里没有专门实验。实验xtea加密第一次听说,也是学习到新的知识点了,csdn上有个原理相关链接:https://blog.csdn.net/m0_73644864/article/details/130675396

安全超文本传输协议HTTPS协议是对称+非对称结合(RSA/ECC 做密钥交换,AES 加密会话),SSH 同理。

数字签名在软件分发和代码签名里用得多,验证来源和完整性。
哈希算法的特性是:单向不可逆、定长输出、雪崩效应(改一个 bit 结果完全不同)。MD5 已经不推荐用于安全场景了,现在一般用 SHA256。这里就不细说各种密码算法了。


3.9 信息系统运维

课程环境搭建本身就需要一定的 Linux 操作基础。第一次实践配 VMware 虚拟网络(NAT、桥接、仅主机三种模式),给虚拟网卡设 IP,装 Kali 和靶机,做连通性测试。第七次实践又搭了一遍 Kali 和 Metasploitable 的环境。

用到的 Linux 操作:网络配置(IP 设定、路由)、防火墙管理(iptables 规则增删改查)、抓包(tcpdump 命令行)、Metasploit 控制台操作(msfconsole)、逆向工具(IDA Pro、调试器)。

故障排查方面:网络不通的时候 Ping 看连通性、检查 IP 配置;服务漏洞排查用 Nmap 扫版本然后查 CVE 看有没有已知漏洞(第二、七次实践);安全事件用 Wireshark 抓包找异常流量(第三、六次实践)。

系统备份恢复这块,VMware 的快照功能在实验里很实用——做攻击前拍个快照,搞坏了直接恢复。蜜网环境也需要定期重置,防止蜜罐真的被攻陷后被人利用。


3.10 网络协议分析

第四次实践对 TCP/IP 协议栈的几种攻击方式做了实验:

TCP 三次握手(SYN → SYN+ACK → ACK)建立连接的过程,SYN Flood 就是只在第一步发 SYN 然后不管了,服务器留着半开连接等 ACK,多了就资源耗尽。

TCP RST 攻击是伪造 RST 报文强制掐断已有的 TCP 连接,可以干扰 SSH 这种长连接。TCP 会话劫持是在猜出序列号之后往数据流里注入恶意数据。

ARP 欺骗的原理是 ARP 协议没有验证机制,谁先应答就信谁。攻击者发伪造的 ARP 应答,把网关 IP 和自己的 MAC 绑定,目标机器发往网关的流量就全到攻击者手里了,可以做中间人。

ICMP 重定向是伪造 ICMP 消息让目标改路由表,把流量引到攻击者控制的机器上。

HTTP 这块,第三次实践分析了浏览器访问网站的完整过程——DNS 解析域名、TCP 三次握手建连、HTTP GET 请求、服务器返回响应。TELNET 明文暴露密码的问题,延伸到 HTTP 也是一样(表单数据明文传),所以现在基本都用 HTTPS 了。

用 Wireshark 分析异常流量的一些判断方法:大量同源 IP 的 SYN 可能是扫描、SYN/RST 模式也是扫描的特征、同类型包频率异常可能是 DoS。


3.11 数据库

第十次实践的 SQL 注入直接涉及数据库操作。

SQL 语句这块:基本的 SELECT/INSERT/UPDATE/DELETE 不用说,注入的时候常用 UNION SELECT 合并查询结果(前提是前后列数一致)、用 -- # 注释掉后面原来的 SQL、用 information_schema 查库名表名字段名。

盲注不依赖页面直接回显数据:布尔盲注靠 AND 1=1AND 1=2 返回的页面差异来判断;延时盲注用 SLEEP()BENCHMARK() 制造时间差,有延迟说明条件成立。

数据库漏洞除了 SQL 注入本身,还有一个问题是权限过高。应用连数据库往往用 root 或权限很大的账号,注入成功之后能做的事情就太多了。修复方法:参数化查询是根本方案;另外数据库账号按最小权限原则分配,就算有注入也能限制损失范围。

课程只涉及了 MySQL,SQL Server、Oracle 等原理类似,注入语法有些差异。


3.12 法律(补充)

如果法律意识淡薄,掌握渗透的知识反而可能蹲大狱。网络攻防很多操作都涉及法律问题。大致框架是三法两条例:《网络安全法》、《数据安全法》、《个人信息保护法》加上《关键信息基础设施安全保护条例》和《网络安全等级保护条例》。

我们注意一下:

第二次实践做信息收集,Whois 查域名注册信息、查个人网络隐私暴露情况——这些对应到《个人信息保护法》里关于个人信息收集和处理的规定。公开能查到的东西不等于可以随便用。

第六、七次实践做渗透测试,用 Metasploit 打漏洞——这必须在授权环境(课程实验环境)里做。没有授权就去扫别人、打别人,在《网络安全法》里是明确禁止的。

第十次实践 SQL 注入导致数据泄露、XSS 偷 Cookie——从《数据安全法》和《个人信息保护法》角度看,如果发生在真实系统上就是数据安全事件,运营者要承担责任。

信息安全发条的具体条文和相关链接如下:

“三法两条例”链接汇总:

法规名称 施行日期 官方全文链接
《中华人民共和国网络安全法》 2017年6月1日 科学技术部海丰县人民政府
《中华人民共和国数据安全法》 2021年9月1日 交通运输部法规库福建省应急管理厅
《中华人民共和国个人信息保护法》 2021年11月1日 交通运输部法规库宝鸡市人社局
《关键信息基础设施安全保护条例》(国务院令第745号) 2021年9月1日 交通运输部法规库
《网络数据安全管理条例》(国务院令第790号) 2025年1月1日 中国政府网

3.13 基础

408的知识点对网络攻防的理解也是至关重要,在以往的作用里涉及到计算组成原理和操作系统原理以及计算机网络相关知识我都做了说明和补充。下面来做个总结

计算机网络

在十一次网络实验中,我通过抓包分析和配置实操,系统掌握了TCP/IP协议栈的核心行为。实验中,我使用Wireshark捕获并分析了TCP三次握手(SYN→SYN-ACK→ACK)与四次挥手(FIN→ACK→FIN→ACK)的完整报文交互,理解了Seq号和Ack号的同步机制以及TIME_WAIT状态的作用。
IP路由与子网划分方面。学习网段 子王掩码 ip等知识点这些在第一次作业里详细说了。
arp相关内容:通过广播请求获取目标IP对应的MAC地址,并缓存映射条目以减少重复查询。DNS实验中,我对比了递归查询与迭代查询的报文差异,理解了DNS缓存对解析效率的提升。HTTP实验则聚焦于请求方法(GET/POST)、状态码(200/404/302)及Cookie在无状态协议中的会话保持机制。

操作系统

在虚拟化环境中,我同时操作了Windows 2000/XP与Linux(Kali/Ubuntu)系统,在双系统切换中对比了两类操作系统的核心管理差异。
网络配置方面,Windows主要通过图形界面的TCP/IP属性设置静态IP、子网掩码和默认网关;Linux则使用/etc/network/interfaces(Debian系)或nmcli命令行工具进行配置,并可通过ifconfigip命令查看及修改网络参数。
进程管理上,Windows的任务管理器提供了图形化的进程终止和性能监控;Linux则通过ps aux查看进程详细信息、top动态监控资源占用、kill发送信号终止进程。文件系统方面,我理解了Windows采用盘符挂载(如C:\)而Linux采用统一的树形目录结构(/),以及权限模型的不同(Windows的ACL与Linux的rwx三位权限)。

计算机组成原理

x86 CPU的核心寄存器中,EIP(指令指针)指向当前执行指令的地址,ESP(栈指针)始终指向栈顶(低地址),EBP(基址指针)用于定位当前栈帧。函数调用时,栈帧从高地址向低地址增长,典型栈帧布局为:局部变量(低地址)→ 保存的EBP → 返回地址(EIP值)→ 实参(高地址)。当函数向局部数组写入数据时,若输入长度超出数组边界,数据会向高地址方向覆盖,依次覆盖EBP甚至返回地址。实验中,我构造了恶意输入精确覆盖返回地址,使其跳转到shellcode起始位置,从而劫持执行流。

程序调用设计栈帧切换时,函数调用时在栈上分配的一块内存,放局部变量、参数、返回地址。缓冲区溢出就是局部变量越界覆盖了返回地址。Canary(栈金丝雀)是在返回地址前放一个随机值,溢出时先破坏它,程序检测到就终止。ASLR 是每次运行随机化栈/堆/库的基地址,让攻击者猜不到 Shellcode 放哪。DEP/NX 是栈不可执行,Shellcode 注入进去也跑不了。

Metasploit 的基本概念:exploit 是漏洞利用模块(负责触发漏洞),payload 是攻击载荷(漏洞触发后执行的代码),Meterpreter 是高级载荷支持加密通道和后渗透功能。

4课堂收获与不足

通过十一次网络攻防实践,我学习了许多网安领域必备的基本技能 跨入网安的大门。把书本上教条的知识融入到操作实践,可以说是收获颇丰!
然而,在实验过程中我还发现了一些自身问题与不足:例如在使用wireshark分析数据包时不能精准抓取有用信息 常常在海量的条目里乱撞。这些都是今后要学习和完善的重点。
进入研二阶段 有了更多时间钻研自己的所学技能,希望自己在做好科研工作的同时培养一下ctf相关的技能。多参加一些比赛历练历练 既为就业也为热爱。


完结撒花 🎉

posted @ 2026-06-17 15:07  施为乐  阅读(7)  评论(0)    收藏  举报