20222234 石国力 《网络与系统攻防技术》 实验八

news/2024/12/20 21:56:06/文章来源:https://www.cnblogs.com/2022234sgl/p/18620020

1.实验内容
1.Web前端HTML
能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML。
2.Web前端javascipt
理解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
使用service apache2 start命令打开Apache服务。此时在浏览器输入 127.0.0.1,如果可以打开Apache的默认网页,则表示开启成功!

image

查看Apache状态。

image

显示开启状态
关闭apache,并查看状态。

image

image

显示关闭

2.1.2对HTML,表单,GET与POST方法的理解
(1)HTML是构建网页和网络应用的核心标准语言。
(2)表单是网页中用于收集用户输入信息的重要组件。
(3)GET方法:GET方法是从服务器获取数据的一种请求方法。
(4)POST方法:POST方法是向服务器发送和处理敏感或大量表单数据的一种请求方法。

2.1.3 编写一个含表单的HTML
先在记事本写好含表单的登陆页面html代码

image

cd /var/www/html 进入html的文件夹
touch 20222324.html 创建html文件

image

进入编辑页面,将html代码粘贴进去

image

service apache2 start 打开Apache服务
使用浏览器打开制作的网页,在浏览器输入localhost/20222324.html
可跳转到自己的登陆界面。

image

可提交表单,实现跳转

image

2.2 Web前端javascipt
2.2.1 理解JavaScript的基本功能,理解DOM
JavaScript是一种基于对象和事件驱动的脚本语言,广泛应用于客户端网页开发。它具备相对较高的安全性,并通过其核心组件实现了动态内容展示与交互功能。
DOM的作用:
访问文档结构、操作元素属性、事件处理、创建删除元素、遍历文档树
2.2.2 编写JavaScript验证用户名、密码的规则。在用户点击登陆按钮后回显“欢迎+输入的用户名”
在login.html加上一段JavaScript正则表达式,来判断用户是否填写了用户名和密码。
我设定的规则为:用户名须为6-12位字母/数字/中文,密码为1-20位纯数字。
只填用户名,且不符合要求

image

用户名符合要求,密码不符合要求

image

编写一个在用户点击登陆按钮后回显“欢迎+输入的用户名”的PHP页面
在浏览器输入localhost/20222324.html,输入正确格式的用户名和密码后点击登录,成功跳转到欢迎界面

image

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

image

2.在登陆界面输出一级标题,如下图所示:

image

3.注入JavaScript

image

4.会出现sgl的提示框,如下图所示:

image

2.3 Web后端:MySQL基础,正常安装、启动MySQL,修改密码、创建用户、修改密码、建表
(1)1打开MySQL服务
(2)显示MySQL服务的当前目前状态

image

(3)启动MySQL服务

image

image

(4)登录到MySQL数据库
输入mysql -u root -p使用root权限进入,需要输入密码(就是你登录的密码)

image

(5)建立数据库

image

插入数据:用户名20222324sgl;
密码:2324;
并查询login表中的数据

image

(6)创建用户、修改密码

image

image

2.4Web后端:编写PHP网页,连接数据库,进行用户认证
(1)创建一个php文件,代码如下:

image

(2)验证

image

image

2.5 最简单的SQL注入,XSS攻击测试
2.5.1 SQL注入
把用户名改成' or 1=1#

image

这个无论你输入什么,都可以登录进去。

2.5.2 XSS攻击
把用户名改成

image

提示1成功了。
2.6 安装DVWA或WebGoat平台,并完成SQL注入、XSS、CSRF攻击。
这个题目没有时间做了。
3.问题及解决方案
这个实验做下来很顺,没有遇到什么问题。
4.学习感悟、思考等
经过这一系列的Web安全实验,我深刻体会到了Web开发与安全防护的重要性与复杂性。从基础的Web前端技术到后端数据库管理,再到安全漏洞的挖掘与防御,每一步都让我受益匪浅。在HTML的学习过程中,我掌握了基本的网页结构设计和表单处理技巧。通过亲手编写含有表单的HTML页面,我理解了GET与POST方法的区别及其在实际应用中的选择依据。在MySQL的学习过程中,我掌握了数据库的安装、启动、建库、建表以及用户管理等基本操作。这不仅为我后续的实验打下了坚实的基础,也让我对数据库技术有了更深入的了解。在SQL注入和XSS攻击测试中,我深刻体会到了安全漏洞的危害性。通过简单的SQL注入和XSS攻击,我成功地绕过了前端验证和后端的部分安全措施,获取了敏感信息或执行了恶意代码。这让我意识到,安全防护必须全面而细致,不能有丝毫的疏漏。

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

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

相关文章

2024 GoLang安装使用教程(附激活以及常见问题处理)

第一步:下载GoLang 安装包 访问GoLang官网,下载GoLang第二步: 安装 GoLang下载完成后,进行安装,next,安装完成点击xx 关掉程序! 第三步: 下载补丁 GoLang补丁文件 点击获取补丁下载成功后,打开标注的文件文件夹 , 进入到文件夹 /jetbra 注意: 这个文件夹单独copy一份,…

2024-2025-1 20241403 《计算机基础与程序设计》第十三周学习总结

2024-2025-1 20241403 《计算机基础与程序设计》第十三周学习总结 作业信息这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标 结构体的…

Python中所有子图标签Legend显示详解

在数据可视化中,图例(legend)是一个非常重要的元素,它能够帮助读者理解图表中不同元素的含义。特别是在使用Python进行可视化时,matplotlib库是一个非常强大的工具,能够轻松创建包含多个子图的图表,并在每个子图中显示图例。本文将详细介绍如何在Python的matplotlib库中…

gtest简单用法

当前开发环境中,无法把测试代码提交到仓库,所以单测另起一个目录 . ├── gtest │ ├── CMakeLists.txt # 这是最外层的cmake,用以管理所有内部的cmake │ └── sample_test # 这是sample_src对应的测试用例,该目录下有一个单独的cmake │ ├── CMakeList…

跨境电商速卖通实训教学平台课程题库答案

近年来,随着全球化的不断加深与国际电子商务市场的蓬勃发展,中国的跨境电商产业进入了迅猛增长期。速卖通作为阿里集团推出的跨境电商交易平台之一,在全球尤其是俄罗斯市场占据了显著地位,其交易规模的持续增长吸引了众多企业和个人投身其中。在此背景下,对具有速卖通专业…

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

1.实验内容 (1)Web前端HTML 能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML。 (2)Web前端javascipt 理解JavaScript的基本功能,理解DOM。 在(1)的基础上,编写JavaScript验证用户名、密码的规则。在用户点击登陆按钮后回显“欢迎+…

Java 基础概览

1. Java 语言概述 1.1 Java 简史 Java是一种高级程序设计语言,由SUN(Stanford University Network,斯坦福大学网络公司)公司于1995年推出,James Gosling设计Java语言,并开发了Java编译器和Java虚拟机,因此也被人尊称为“Java 之父”。SUN公司在2009年被Oracle(甲骨文)…

Linux学习笔记(一) Linux目录结构

下图显示的为Linux中的目录结构:/bin[常用](/usr/bin、/usr/local/bin) 是Binary(二进制)的缩写,这个目录存放着经常使用的命令。 /sbin(/usr/sbin、/usr/local/sbin) s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。 /home[常用] 存放普通用户的家目…

数据库审计与监控

title: 数据库审计与监控 date: 2024/12/20 updated: 2024/12/20 author: cmdragon excerpt: 数据库审计与监控是确保数据库安全性和性能的关键环节。通过实施有效的审计策略,可以追踪用户活动,监控数据访问与修改,从而及时发现潜在的安全威胁和性能瓶颈。探讨数据库审计的基…

Java实现单词的翻译(详解爬虫操作)

JAVA通过Crawler实现英语单词的翻译首先声明一点,这种方法仅限于低频次的交互来获取翻译信息,一旦一秒内大量的请求会被重定向,那就直接不能用了 如果希望可以批量查询英语单词翻译,可以查看我的下一篇博客。接着我们上一讲Java如何用HaspMap统计次数并排序详解 - ivanlee7…

实用工具:Calibre 7.22最新版 一款Window电子书管理工具和阅读器便携版

📢提示:文章排版原因,链接放在文章结尾👇👇,往下翻就行 📢提示:文章排版原因,链接放在文章结尾👇👇,往下翻就行 前言 初识Calibre 最近有几本epub格式的电子书要看发现电脑上没有可以打开的软件,所以最近找到了这个软件。功能 功能亮点电子书管理:Calib…

VS2022 C++QT 中文乱码 设置UTF-8编码

说明 所有内容来源于网络 通过插件调整源文件编码FileEncoding:查看编码 Force UTF-8:用于保存为UTF-8 C++项目设置为utf-8 项目-属性-配置属性-C/C++-命令行-其它选项 中 增加/utf-8、