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

news/2025/12/6 14:22:27/文章来源:https://www.cnblogs.com/20232411dyx/p/19294428

1.实验内容

  1. Web前端 - HTML基础
  2. Web前端 - JavaScript与DOM
  3. Web后端 - MySQL基础
  4. Web后端 - PHP与数据库连接
  5. 基本安全攻击实践
  6. 综合安全平台实战

2.实验过程

1.建立Web前端html。

(1)启动Apache。使用命令systemctl start apache2打开Apache服务,并使用命令ufw allow 'Apache'允许Apache流量进出防火墙。在浏览器中输入localhost进入Apache默认网页确定服务。

image
image
image

(2)编写简单的登录html网页。进入/var/www/html目录创建html文件,分别是login-get.html,login-post.html,submit-get.html,submit-post.html。用以对比get方法和post方法登录的区别。表单代码及结果如下。

    <form action="submit-get.html" method="get"><div><label for="username">用户名:</label><input type="text" id="username" name="username" required></div><br><div><label for="password">密码:</label><input type="password" id="password" name="password" required></div><br><div><input type="submit" value="登录"><input type="reset" value="重置"></div></form>
 <form action="submit-post.html" method="post"><div><label for="username">用户名:</label><input type="text" id="username" name="username" required></div><br><div><label for="password">密码:</label><input type="password" id="password" name="password" required></div><br><div><input type="submit" value="登录"><input type="reset" value="重置"></div></form>

image
image
image
image

2.插入Web前端javascipt。

(1)加入javascipt重新编写html,命名为login.html。javascipt验证规则代码及结果如下。

            // 获取输入值const username = document.getElementById('username').value.trim();const password = document.getElementById('password').value;const messageDiv = document.getElementById('message');// 验证用户名非空if (!username) {messageDiv.innerHTML = "错误:用户名不能为空";messageDiv.style.color = "red";return;}// 验证密码非空if (!password) {messageDiv.innerHTML = "错误:密码不能为空";messageDiv.style.color = "red";return;}// 验证密码长度至少6位if (password.length < 6) {messageDiv.innerHTML = "错误:密码至少需要6位";messageDiv.style.color = "red";return;}// 验证密码包含大小写字母和数字const hasUpperCase = /[A-Z]/.test(password);const hasLowerCase = /[a-z]/.test(password);const hasNumber = /[0-9]/.test(password);if (!hasUpperCase || !hasLowerCase || !hasNumber) {messageDiv.innerHTML = "错误:密码必须包含大小写字母和数字";messageDiv.style.color = "red";return;}// 所有验证通过,显示欢迎消息messageDiv.innerHTML = `欢迎 ${username}`;messageDiv.style.color = "green";

image
image
image

(2)尝试注入攻击。在用户名中输入<div style="color:red;font-size:24px;">页面已被黑客篡改!</div>,浏览器会将整个字符串作为HTML解析,创建并渲染
元素及其样式。结果如下。

image

3.建立Web后端:MySQL数据库。

(1)使用命令systemctl start mysql启动MySQL,输入mysql进入数据库。

image

(2)进行建库、创建用户、修改密码、建表等操作,具体代码如下。

-- 1. 创建数据库
CREATE DATABASE test8;-- 2. 创建用户
-- 创建用户并设置密码
CREATE USER '20232411' IDENTIFIED BY '111';-- 3. 授予用户所有权限
GRANT ALL PRIVILEGES ON test8.* TO '20232411';
FLUSH PRIVILEGES;-- 4. 修改用户密码
ALTER USER '20232411' IDENTIFIED BY '20232411';-- 5. 使用test8数据库
USE test8;-- 6. 创建表
CREATE TABLE users (username VARCHAR(50) NOT NULL,password VARCHAR(100) NOT NULL,PRIMARY KEY (username)
);-- 7. 插入数据
INSERT INTO users (username, password) VALUES
('20232411', 'Dd1111'),
('test', 'Dd2222'),
('aaa', 'Aa123456');-- 8. 查看数据
SELECT * FROM users;

(3)具体操作结果如下。

image

4.建立Web后端:PHP网页认证。编写PHP网页,命名为。代码及结果如下。

<?php
// 连接数据库
$host = 'localhost';
$dbname = 'test8';
$username = '20232411';
$password = '20232411';try {$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {die("数据库连接失败: " . $e->getMessage());
}// 获取表单数据
$username = isset($_POST['username']) ? trim($_POST['username']) : '';
$password = isset($_POST['password']) ? $_POST['password'] : '';// 验证输入
if (empty($username) || empty($password)) {echo "错误:用户名和密码不能为空";exit;
}// 查询用户
$sql = "SELECT password FROM users WHERE username = '$username'";
$result = $pdo->query($sql);
$user = $result->fetch(PDO::FETCH_ASSOC);// 验证用户
if ($user && $password === $user['password']) {echo "欢迎 $username";
} else {echo "错误:用户名或密码不正确";
}
?>

image
image

5.进行最简单的SQL注入,XSS攻击测试。

(1)简单的SQL注入。在已知第一个用户密码的情况下,在用户名输入admin' OR '1'='1,密码输入第一个用户密码。注入结果如下。

image

(2)简单的XSS攻击测试。使用admin' OR '1'='1' -- <img src=x onerror="alert('XSS成功!')">,密码输入第一个用户密码,在sql注入成功后浏览器会处理<img src=x onerror="alert('XSS成功!')">,使攻击成功。攻击结果如下。

image

6.安装DVWA平台,选择low级别,完成SQL注入、XSS、CSRF攻击。

(1)SQL注入题目。

image
首先在表单中输入1,如上图正常结果显示。
image
尝试输入万能密码1’or 1=1#,得到所有用户的姓名。
image
image
image
使用order by进行判断字段数。输入1' order by 3#时报错了,说明字段只有2列。
image
通过联合查询,输入1' union select database(),user()#获取库名和当前连接库的用户名。
image
输入1' union select table_name,table_schema from information_schema.tables where table_schema= 'dvwa'#查看表信息:dvwa 数据库只有一个数据表,users。
image
猜测users表的字段为user和password,输入:1' union select user,password from users #进行查询:查看到用户名、密码,密码判断采用md5进行加密。
image
通过https://www.cmd5.com/对admin用户密码进行解密得到明文password。

(2)XSS攻击题目。

  1. XSS(DOM)(DOM型跨站脚本攻击)。
    image
    选择English然后点击Select,查看URL变化。
    image
    直接在URL处更改为default=<script>alert(/xss/)</script>,访问攻击成功。
  2. XSS (Reflected)(反射型跨站脚本攻击)。
    image
    输入1,查看结果。
    image
    image
    输入<script>alert('hack')</script>查看返回结果,可以看到攻击成功。
  3. XSS (Stored)(存储型跨站脚本攻击)。
    image
    image
    在message输入框里输入<script>alert(1)</script>
    image
    ![image](https://img2024.cnblogs.com/blog/3262800/202512/3262800-20251206135548629-214842885.png
    F12打开之后在elements里面找到name元素,修改name输入框maxlength从10到100。
    image
    image
    在name输入框里输入<script>alert(1)</script>
    image
    查看数据库发现,攻击信息已存入数据库中。

(3)CSRF攻击攻击题目。

image
尝试两次密码不一致,分别是pass和password。页面顶部URL如上图。
image
新打开页面输入URLhttp://localhost/dvwa-master/vulnerabilities/csrf/?password_new=password&password_conf=password&Change=Change#,可以看到密码成功修改了,攻击成功。

3.问题及解决方案

  • 问题1:在/var/www/html目录下无法创建文件。
  • 问题1解决方案:使用root权限打开文件管理系统即可。
  • 问题2:使用<script>alert('XSS攻击成功!')</script>语句和<script>alert(document.cookie)</script>语句进行xss攻击都失败。
  • 问题2解决方案:由于现代浏览器的安全机制,当使用innerHTML将脚本插入文档时,script元素不会被执行。因此改用img标签,使用<img src=x onerror="alert('XSS成功!')">语句进行攻击。

4.学习感悟、思考

xxx xxx

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

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

相关文章

VC(9.0~14.x)运行库下载链接

VC(9.0~14.x)运行库下载链接Visual Studio VCVS2008 VC9.0VS2010 VC10.0VS2012 VC11.0VS2013 VC12.0VS2015 VC14.0VS2017 VC14.x1VS2019 VC14.x1VS2022 VC14.x1VS2026 VC14.x2Note!!! x1 and x2: x1 was the name us…

Kubernetes集群的搭建与DevOps实践(上)- 架构设计篇

本文将探讨生产级Kubernetes集群的架构设计、技术选型,以及完整的DevOps体系设计 适合读者:架构师、技术负责人、希望深入理解K8s和DevOps设计原理的工程师目录一、为什么需要Kubernetes 二、整体架构设计 三、技术选…

2025年景观护栏设计公司五大推荐,景观护栏设计厂家选哪家合

在城市建设与园林景观升级的浪潮中,优质的景观护栏不仅是安全防护的守护者,更是城市美学与品牌形象的点睛之笔。面对市场上鱼龙混杂的景观护栏供应商,如何找到口碑好、服务靠谱的合作厂家?以下依据产品工艺、服务能…

2025年中国口碑好的包装箱木箱公司推荐:木头包装箱定制厂家

本榜单基于真实客户反馈、行业资质认证与项目交付数据,筛选出口碑与实力兼具的标杆企业,为企业解决包装选品难、成本控制难、合规运输难核心痛点,精准匹配可靠合作伙伴。 TOP1 推荐:郑州森一包装有限公司 推荐指…

2025年电线电缆,国标电线电缆,铜芯电线电缆厂家推荐:行业盘点与品质红榜发布

引言在当今全球化的工业发展浪潮中,电线电缆作为电力传输和信息传递的关键基础设施,其质量和性能直接关系到各个行业的稳定运行。为了给广大用户提供权威、可靠的电线电缆厂家推荐,行业协会联合专业测评机构开展了本…

2025年电线电缆,国标电线电缆,铜芯电线电缆厂家推荐,高稳定,导电强的行业优选

引言在当今的工业与生活领域,电线电缆起着至关重要的作用,其质量和性能直接影响到用电安全和设备的正常运行。为了给广大用户提供专业、客观的电线电缆厂家推荐,我们参考了行业协会的测评数据以及相关白皮书内容。本…

【QT/C++】Qt基础控件详解:输入与显示控件(超详细) - 详解

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

2025年电线电缆,国标电线电缆,铜芯电线电缆厂家推荐,导电工艺与市场口碑深度解析

引言在当今全球化的工业发展进程中,电线电缆作为电力传输和信息传递的关键基础设施,其质量和性能直接影响着各个行业的稳定运行。根据国际权威行业协会的测评数据以及相关白皮书显示,全球电线电缆市场规模正以每年[…

2025年12月YJV电力电缆,YJY电力电缆,橡套电力电缆厂家最新推荐:耐温性能测评与选购建议

引言在 2025 年 12 月的电力电缆市场中,YJV 电力电缆、YJY 电力电缆以及橡套电力电缆的应用愈发广泛,其耐温性能直接影响着电力传输的稳定性与安全性。国内线缆行业协会近期发布的白皮书显示,过去一年因电缆耐温性能…

MySQL 基本原理和架构(通俗易懂)

🚀 一句话先把全貌讲清楚(你一定要先有画面) MySQL 就是一台小型“仓库 + 快递中心”: 里面有货架(表), 有仓库管理员(存储引擎), 有前台接单员(SQL 层), 有账本(redo / undo), 有锁(控制别人别乱动…

完整教程:C语言变量与输入输出详解——从printf到scanf的全掌握

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

智能安全帽哪家好?哪家智能安全帽质量管控严

在工业生产与工程建设领域,智能安全帽作为保障作业人员安全、提升管理效率的核心装备,其质量管控与技术性能直接关系到企业安全生产与运营成本。面对市场上鱼龙混杂的智能安全帽厂家,如何选择质量管控严格、技术可靠…

实测openGauss 6.0 LTS向量版:国产数据库的 RAG 实践之路 - 教程

实测openGauss 6.0 LTS向量版:国产数据库的 RAG 实践之路 - 教程2025-12-06 14:06 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !im…

2025年评价高的机械设备沙盘模型热门厂家推荐榜单

随着智能制造、装备数字化、工业产线升级和智能工厂建设的加速,机械设备沙盘模型在2025年的需求显著增长。机械设备模型不仅承担展示设备原理、结构布局、工艺流程和产线逻辑的作用,同时还是工业展厅、产业园推介会、…

2025年度天津短视频代运营TOP5权威推荐:力企业流量破局

短视频已成为企业品牌传播与获客的核心阵地,2024年短视频营销市场规模超3200亿元,年增速达58%。但行业调研显示,62%的企业因选品不当陷入流量低迷、转化断层困境:不懂算法导致播放量低于500、缺乏专业团队引发内容…

2025激光设备市场权威排名:华工激光引领国产替代浪潮

一、全球激光设备市场格局与权威排名 据 GLII(高工激光产业研究所)2025 年最新数据,全球激光设备市场规模突破 1800 亿元,中国以 62% 的市场份额成为全球产业核心。结合技术实力、市场占有率、用户口碑等多维度评估…

2025年天津关键词SEO机构排行榜,五大专业服务商测评推荐

为帮企业突破关键词排名瓶颈、高效获取精准流量,我们从关键词优化技术深度(如算法适配、排名稳定性)、流量转化能力(如关键词布局与询盘链路匹配)、行业垂直经验(如本地生活/制造业关键词策略)及真实客户口碑(…

2025年辽宁建筑资质升级推荐排行榜,新测评精选服务公司推荐

为帮助建筑业企业高效锁定适配自身需求的建筑资质升级合作伙伴,避免资质办理走弯路,我们从专业办理经验(如垂直行业案例积累)、全流程服务能力(覆盖前期材料筹备到后期资质维护)、真实客户口碑(侧重同行业项目反…

2025年12月鸡肠粉加工设备厂家推荐:权威排行榜单与选购指南

一、引言 鸡肠粉加工设备作为畜禽屠宰废弃物资源化利用的核心装备,在循环经济和环保政策推动下,已成为屠宰场、饲料原料生产企业及养殖集团提升副产品附加值的关键工具。目标用户群体主要包括中大型屠宰加工企业、动…

NOI Plus 游记

outro.day -2 放学,和 snowflavour 聊天,激动地说:后天就是 NOIP 了,NOI 的省赛也是 NOI,后天,决定命运的一战,大家都给我加油!!!day -1 下午到了淄博,晚上去试机,机房很大,然后我找不着座位了,然后才发…