20192418张曦 2021-2022-2 《网络与系统攻防技术》实验八实验报告
作者:互联网
20192418张曦 2021-2022-2 《网络与系统攻防技术》实验八实验报告
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)安装Webgoat或类似平台,并完成SQL注入、XSS、CSRF攻击。
2.实验过程
2.1 Web前端HTML
打开apache服务
输入127.0.0.1查看是否开启成功
进入apache所在的文件目录
创建一个含表单的html文件
在浏览器中输入 /var/www/html/simple_form.html
,可以看到网页界面如下图
2.2 Web前端:javascipt
添加一段javascipt代码,创建一个新文件
在浏览器中输入访问 /var/www/html/login_test.html
若输入的格式不是邮箱格式,输入框提示会标红
输入正确时:
若不输入密码,则会弹窗提示:
再修改一段:
加入index.php
登录之后跳转欢迎界面
在登录界面将用户名改为<script>alert("hack!")</script>
,则会显示"注入"弹窗
2.3 Web后端:MySQL基础
启动mysql数据库,使用默认root登录
show database;查看数据库基本信息
select user, password, host from user; 查看当前用户信息
修改数据库密码
创建新的数据库命名zx
创建表
查询表中所有数据
授权增删改查操作给zx用户
使用新用户进行登录,登录成功!
2.4 Web后端:编写PHP网页,连接数据库,进行用户认证
下载或更新php
编写php代码
将之前的login.html中的action改为login.php
打开html网页
2.5 最简单的SQL注入,XSS攻击测试
2.5.1 SQL注入
将email类型改为test
这样即可在用户名处输入' or 1=1#
1=1为永真式,#将后面内容注释掉,无论密码是多少都可以登录成功
2.5.2 XSS攻击
将一张图片命名为tutu.png放入文件夹/var/www/html中,在用户名处输入以下代码,密码任意
即可显示图片
2.6 Webgoat或类似平台的SQL注入、XSS、CSRF攻击各一例。
下载jdk14.0.1,将下载好的webgoat8.0.1放在目录下
输入指令安装并运行Webgoat
进入webgoat然后注册用户
SQL注入攻击
题目要求
在不需要知道任何用户名的情况下,得到整张表的内容。
本题练习的时SQL字符串注入,本段SQL语句构建成了一个动态语句,其目的为:根据删选条件查出表user_data中所有的数据(暴库),实现原理为:where接的条件中必须有一个永真条件,因此可以选择如下的下拉框选项,即可获取表单内容
XSS攻击
注入,弹出弹窗
CSRF攻击
题目要求获取flag
可以使用Burp的proxy抓包,也可以使用更便捷的方法:
使用浏览器界面的检查,找到包,选择包重发
即可在新包里获取flag
3.问题及解决方案
- 问题1:php无法打开
- 问题1解决方案:换低版本的kali
- 问题2:webgoat装不上
- 问题2解决方案:把实验环境换成win10,在win10上安装jdk并使用webgoat
- 问题3:webgoat无功能和界面
- 问题3解决方案:jdk和webgoat的版本要相对应,这里用的是JDK14.0.1对应webgoat8.0.1
4.学习感悟、思考等
这次的实验内容非常多,但是都是web综合攻防的基础内容,涉及的知识面非常广,需要掌握的能力和操作也非常多。一份耕耘一份收获,虽然是一个漫长的过程,但是本次实验收获满满,不仅学到了很多知识,也掌握了很多网络攻防的基本操作,将实践内容和理论相结合,对SQL注入攻击、XSS跨站脚本攻击、CSRF跨站请求伪造攻击有了更深刻的理解。
标签:Web,张曦,20192418,XSS,攻击,html,2021,SQL,注入 来源: https://www.cnblogs.com/zhangxi2418/p/16339809.html