20232410 2025-2026-1 《网络与系统攻防技术》实验八实验报告1

news/2025/12/7 17:05:23/文章来源:https://www.cnblogs.com/stitchyyy/p/19318390

Web前后端开发与网络安全测试实验报告

1. 实验内容

(1) Web前端HTML

能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML。

(2) Web前端javascript

理解JavaScript的基本功能,理解DOM。

在(1)的基础上,编写JavaScript验证用户名、密码的规则。在用户点击登陆按钮后回显“欢迎+输入的用户名”

尝试注入攻击:利用回显用户名注入HTML及JavaScript。

(3) Web后端:MySQL基础

正常安装、启动MySQL,建库、创建用户、修改密码、建表

(4) Web后端:编写PHP网页

连接数据库,进行用户认证

(5) 基础攻击测试

最简单的SQL注入,XSS攻击测试

(6) 安全平台实践

安装DVWA或WebGoat平台,并完成SQL注入、XSS、CSRF攻击。

2. 实验过程与分析

2.1 Web前端HTML

2.1.1 Apache Web服务器的安装与配置

使用命令systemctl start apache2可启动Kali虚拟机中自带的Apache服务,systemctl status apache2.service可确认Apache状态。

image

2.1.2 HTML表单功能实现

进入/var/www/html目录下新建20232321zjz.html文件,使用vi编写HTML文件,在文件夹中找到该文件双击打开。

image

2.2 Web前端 JavaScript

2.2.1 JavaScript表单功能实现

在原代码的基础上进行修改,增加对于用户名和密码的限制规则。

image

成功结果如下:

image

2.2.2 注入攻击

(1)注入HTML

在用户名输入框中输入:管理员

“管理员”会被回显到页面.

image

(2)JavaScript注入

在用户名输入框中输入:

image

2.3 Web后端MySQL

使用命令systemctl start mysql启动kali虚拟机自带的MySQL,通过命令systemctl status mysql可查看服务的启用情况。从结果中可以看出MySQL正常启动。

image

输入以下命令,完成建库、创建用户、修改密码、建表等操作。

Mysql
创建数据库:CREATE DATABASE 20232410db;
使用数据库:USE 20222408db;
创建用户:CREATE USER 'user20232410' IDENTIFIED BY '050416zjz';
授予用户权限:GRANT ALL PRIVILEGES ON 20232410db.* TO 'user20232410';FLUSH PRIVILEGES;
修改用户密码:ALTER USER 'user20232410' IDENTIFIED BY '050416zjz!';
创建表:CREATE TABLE onetable (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
pwd VARCHAR(255) NOT NULL
);
插入数据:INSERT INTO onetable (name, pwd) VALUES ('zhujingze', '20232410zjz');
查看表中所有内容:SELECT * FROM onetable;

image

2.4 使用PHP连接数据库

PHP是为一种编写后端的语言,用于处理前端提交的表单数据。下载php工具:

image

原目录下新建一个php文件,编写php代码,实现数据库连接与登录:

<?php
$response = ['success' => false, 'message' => '' ];
// 仅允许POST请求(避免直接访问空白)
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {$response['message'] = '非法请求:仅支持POST方法';echo json_encode($response, JSON_UNESCAPED_UNICODE);exit;
}
// 1. 获取并验证POST数据(防空值)
$username = trim($_POST['username'] ?? '');
$password = trim($_POST['password'] ?? '');
if (empty($username) || empty($password)) {$response['message'] = '用户名或密码不能为空';echo json_encode($response, JSON_UNESCAPED_UNICODE);exit;
}
// 2. 创建数据库连接
$conn = new mysqli($host, $user, $db_password, $dbname);
if ($conn->connect_error) {$response['message'] = '数据库连接失败:' . $conn->connect_error;echo json_encode($response, JSON_UNESCAPED_UNICODE);exit;
}
// 3. 保留原SQL拼接逻辑
$sql = "SELECT * FROM onetable WHERE name='$username' AND pwd='$password'";
$result = $conn->query($sql);
// 检查查询是否成功
if (!$result) {$response['message'] = 'SQL查询错误:' . $conn->error;$conn->close();echo json_encode($response, JSON_UNESCAPED_UNICODE);exit;
}
// 4. 验证登录结果
if ($result->num_rows > 0) {$response['success'] = true;$response['message'] = '登陆成功!';
} else {$response['message'] = '用户名或密码错误';
}
// 5. 关闭资源
$result->close();
$conn->close(); // 关闭数据库连接
// 6. 返回JSON结果
echo json_encode($response, JSON_UNESCAPED_UNICODE);
exit;
?>

登录成功如图:

image

2.5 基础攻击测试

2.5.1 SQL注入

随机输入用户名,密码输入' OR '1'='1,即可成功登录。

image

2.5.2 XSS攻击

用户名输入< script>alert("xss atack succeed.");< /script>,密码不变。正常应该弹出"xss atack succeed.",但是我这里没有反应。查询AI,得到回复是firefox有识别此类XSS攻击的能力,并且会自动进行屏蔽。

2.6 使用WebGoat平台,并完成SQL注入、XSS、CSRF攻击

2.6.1 完成SQL注入攻击

我做了9,10,11,12,13五题

(1)第九题

一个简单的永真条件加引号闭合即可

image

(2)第十题

同理

image

(3)第十一题

同理

image

(4)第十二题

这题的关键是分号闭合,并且在输入中自己编写sql代码,完成薪水的修改。

image

(5)第十三题

这题依旧需要分号闭合,同时还需要用到“--”注释功能,注释掉最后的引号。

image

2.6.2 完成XSS攻击

我完成了7,10,11题

(1)第七题

该部分是反射型XSS攻击,需要通过XSS攻击显示弹框或在终端打印信息。

输入。注入成功:

image

(2)第十题

此题根据AI的提示,得出答案可在js目录下寻找。

image

(3)第十一题

在URL中输入http://127.0.0.1:8080/WebGoat/start.mvc#test/,打开控制台,查找随机数:

image

可以看到为504614711。

输入后成功通关:

image

2.6.3 完成CSRF攻击

我完成了第八题:创建一个新的账号作为攻击者,登录后在此界面点击提交即可成功,

image

3. 问题及解决

问题一:

由于不熟悉html与php语言,不熟悉web的相关知识,花了很长时间在调代码上。前端始终无法连接后端。

问题解决一:

借助AI修改与其他同学的代码,成功学习了相关的知识。

问题二:

在进行XSS注入攻击时没有弹出相应的窗口。

问题解决二:

查询资料发现应该是firefox浏览器拥有检测XSS攻击的能力,自动进行了过滤,因此无法得出正确结果。

问题三:

在做第十三题时,由于存在最后的单引号,我没有注意到,导致一直出错。

问题解决三:

使用“--”注释掉单引号。

4. 学习感悟

本次实验覆盖Web前后端开发与网络安全测试,从搭建Apache、MySQL环境,编写HTML 表单、PHP后端认证,到实践 SQL注入、XSS等攻击与防御,让我直观理解了Web开发核心流程与网络攻防安全隐患。通过WebGoat实操也提升了我的动手实践能力。

尽管遇到了不少问题,花了不少时间,最后都成功地解决了。总而言之这次实验让我受益匪浅。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/991596.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SSO 方案

为多个域/子域、Web 与移动端,提供安全、可扩展、对外可接入的单点登录服务(SSO)。采用 OAuth2 Authorization Code + PKCE 与 OpenID Connect (OIDC) 标准,现在简单介绍一下:核心概念IdP(Identity Provider):…

全球AI一周动态(12月1日-7日):巨头战略博弈升级,技术爆发催生新生态

🔥 一、国家级战略:AI军备竞赛进入深水区 1. 中国五部门联合发布AI+医疗新政五部门联合发布《关于促进和规范"人工智能+医疗卫生"应用发展的实施意见》,提出两阶段目标,到2027年建立卫生健康行业高质量…

英语四级翻译

翻译必考点一节课搞定四六级翻译必考点_哔哩哔哩_bilibili 之一:one of 1.找主干 2.添加定语 3.检查主谓一致、时态、单复数、a/an 《水浒传》(Water Margin)是中国文学四大经典小说之一 Water Margin is one of th…

散修带你入门鸿蒙应用开发基础:启程篇(下) - 鸿蒙

鸿蒙应用开发基础:启程篇(下) 【课程目标】熟悉DevEco Studio界面布局与常用功能 掌握工程目录精简配置(忽略自动生成冗余文件) 了解工具内置汉化、代码提示等辅助功能 学会创建、管理ArkTS页面文件与组件【本节重…

多方案统一认证体系对比

在多系统、多子域、跨平台应用中,认证与登录状态同步是核心问题。不同架构阶段可采用不同方案,从传统 Session 模型到标准化 OAuth2 / OIDC SSO。域下的登录态共享可以看看之前文章提到了域登录态分享类 SSO。 现在简…

centos更新阿里源并同步更新系统时间

下面是如何替换为阿里源的步骤: 1. 备份原有的仓库配置文件 首先,建议备份原有的仓库配置文件,以防万一需要恢复。 sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup2. 下载阿…

齐次与非齐次的区别

啊丢,线性代数学了这么久,突然想到齐次和非齐次是啥区别。 齐次方程组的右边等于0,因此每个方程中的单项式可以看作次数相等,就叫齐次。 非齐次方程组右边不等于0,因此每个方程中有1次项也有0次项,次数不相等,就…

centos7 无法上网怎么办?

查看本机的IP 方法一:ifconfig查找 en0,inet 后面就是本机的IP方法二: 系统设置 -> WIFI -> 详细信息,弹出的页面也有IP地址信息parallels desktop的网络配置:centos虚拟机 -> 配置 -> 硬件 -> 网…

实用指南:[Linux命令分享]日志查看 — — less

实用指南:[Linux命令分享]日志查看 — — lesspre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &…

论文分享 |Spark-TTS:用解耦语音令牌实现高效可控的语音合成 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

昆明黄金推荐排行

昆明黄金推荐排行引言在昆明这个繁华的城市,黄金市场琳琅满目,消费者在选择黄金时往往会感到困惑。本文将为您提供一份昆明黄金推荐排行,帮助您在众多品牌中找到适合自己的黄金产品。一、品牌实力昆明廖金匠昆明廖金…

NOIP2025反思--杨芮溪

NOIP2025反思--杨芮溪NOIP2025反思

2025深圳/惠州组装线供应商TOP5评测!装配线/生产线/老化线/输送线等五大主流厂家推荐,技术创新+行业经验权威榜单发布,赋能工业自动化升级

随着制造业智能化转型加速,组装线、装配线及生产线设备作为工业生产的核心基础设施,其技术先进性与适配性直接影响企业生产效率与产品质量。本榜单基于技术实力、行业覆盖、服务能力三大维度,结合国内制造业协会数据…

一个很好的观察案例:成功究竟是因为我们比较牛,还是仅仅因为运气

雪球上一个热帖,喜提人生第一个100万作者在藏格上挣到100万,志得意满,分享喜悦。下面都是炫富大会,低于100w的都不好开口。我买过藏格,不过卖飞了,所以看到这个帖子难免心痛。。。不过除了商业互吹,还有个争论很…

AD24中快速添加网络标签的方法

AD24中快速添加网络标签的方法今天在画tc264的核心板,该芯片为144pin封装的芯片,需要引出的芯片引脚偏多,通过结合excel和ad自带的智能粘贴实现对网络标签的快速添加tc264核心板如上,接下来是步骤 (一)直接新建一个exc…

终极揭秘:8大免费AI论文神器,一键极速生成,毕业/期刊/职称论文全覆盖!

毕业论文是校园生活的难题,不少同学为此苦恼。不过,随着AI技术发展,有了更高效的写作伙伴。本文揭秘8大免费AI论文神器,包括鲲鹏智写、SciSpace等,覆盖毕业、期刊、职称论文。如鲲鹏智写能30分钟生成5万字初稿,支…

GitHub更新:垃圾账户通知现可准确隐藏,清理近600万条记录

GitHub改进了通知处理机制,当用户或仓库被标记为垃圾信息源时,其触发的所有通知(包括历史提及)将被可靠隐藏,不再计入未读计数。此次更新清理了约600万条相关通知,使通知体验更清晰、可操作。垃圾账户触发的通知…

MATLAB基于CNN的图像超分辨率重建实现

一、系统概述 本系统在MATLAB平台上实现了基于CNN的图像超分辨率重建,支持SRCNN、EDSR、RCAN等主流模型架构,包含数据预处理、模型训练、性能评估全流程。系统采用Deep Learning Toolbox构建网络,支持GPU加速训练,…

英语_阅读_School activities

选词/句填空 School is more than a place to learn; it is also an opportunity to make friends and explore new activities. As the school year progresses, there are many ways to 66 the activities offered b…

使用spaCy与spacy-llm构建知识图谱实战

本文详细介绍了如何利用spaCy库的预训练模型进行实体识别,并整合spacy-llm调用大语言模型进行关系抽取,从而从非结构化文本中自动构建结构化的知识图谱。文章包含具体的配置、代码示例和构建自定义任务的方案。概述 …