20192413宗俊豪 2021-2022-2 《网络与系统攻防技术》实验八实验报告

20192413 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,可以看到

  • cd /var/www/html进入Apache目录下,新建一个含有表单的html文件login.html

  • 在浏览器中打开可以显示出结果

2.2 Web前端javascipt

  • 在login.html中加入验证规则

  • 在浏览器中登录时不输入密码

2.3 Web后端MySQL基础

2.3.1开启mysql并登录

2.3.2 建库

  • 查看数据库

2.3.3 使用数据库

  • 建立表logininfo
  • 插入“zjh”和“20192413”
  • 查看表内容

2.3.4用户操作

  • 修改密码

  • 创建用户

  • 使用新用户登录可以成功

2.4 Web后端PHP

  • 编写login.php

  • 将前边login.html中的action改为login.php

  • 在浏览器输入127.0.0.1/login.html访问自己的登录界面

  • 输入正确用户名和密码登入,可以看到

2.5最简单的SQL注入和XSS攻击测试

2.5.1SQL注入

  • 在浏览器输入127.0.0.1/login1.html访问自己的登入页面

  • 在用户名输入框输入' or 1=1#,密码任意输入,点击登入

2.5.2XSS攻击

  • 将图片test.jpg放入/var/www/html目录下

  • 在浏览器输入127.0.0.1/login.html访问自己的登入页面

  • 输入同户名 <img src="test.jpg"/> ,密码任意输入,点击登入可以读取到图片并可以看到登入信息

2.6 装Webgoat或类似平台,并完成SQL注入、XSS、CSRF攻击

2.6.1WebGoat环境搭建

  • 下载webgoat-server-8.0.0.M26.jar
    java -jar webgoat-server-8.0.0.M26.jar加载jar包

  • 浏览器中输入http://127.0.0.1:8080/WebGoat打开WebGoat注册界面,先注册后登录即可

2.6.2 SQL注入

  • 在不需要知道任何用户名的情况下,得到整张表的内容。

2.6.3 XSS攻击

  • 点击Update Cart时,可以看到页面上输出,可以判断卡号字段存在xss

  • 注入<script>alert(20192413);</script>发现成功

2.6.4 CSRF攻击

  • 用Burp的proxy抓包,把Referer中8080修改为9080,获得flag


3.问题及解决方案

  • 问题1:在浏览器打开php文件时出现白屏
  • 问题1解决方案:在我用的kali2022版中apache与php模块没有连接,换为kali2021后后可打开

4.学习感悟、思考等

本次实验是Web的一些基础应用:前端的HTML和JavaScript、后端的MySQL和PHP、前端和后端的结合,以及SQL注入攻击、XSS攻击、CSRF攻击等等。在本次实验中,结合数据库课程的内容,我更深刻地熟悉和掌握了MySQL数据库在Linux系统中的应用,对PHP文件的操作也有了比较基础的掌握。通过本次实践中尝试的各类攻击方式,发现在平时的web设计中只要多加注意,其实就能很好地避免简单的攻击,在之后的学习过程中也会加以思考和应用。

posted @ 2022-05-30 10:55  20192413  阅读(66)  评论(0编辑  收藏  举报