93
社区成员
发帖
与我相关
我的任务
分享 (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攻击。
打开Apache服务

浏览器中输入127.0.0.1,显示apache界面,成功开启

新建表单html文件,编写一个带表单的html代码
浏览器输入 /var/www/html/20202426xsxrlogin.html

添加一段JavaScript代码,判断用户是否输入账号、密码



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

打开mysql服务

使用Mysql



mysql -u root -p
use mysql;
select host, user, password from user;

建库,创建用户,建表


PHP网页:

登陆成功

用户名输入20202401 ' or 1= 1; -- 不需要输入正确密码,可以通过验证:


XSS攻击测试:

下载地址:https://github.com/WebGoat/WebGoat/releases

在kali中打开网址:http://127.0.0.1:8080/WebGoat

SQL注入攻击在左侧的页框中选择injection->SQL injection(info)

XSS注入攻击:

CSRF攻击:
F12”进入开发者模式,在浏览器下方出现网页源代码;先点击左上角小方框,点击“Submit Query”,页面下方代码框显示出对应form表单的代码。

浏览器打开20202401jdcrsf.html,页面中只有提交框"Submit Query";点击"Submit Query",获取flag值.

可以看到flag值为8977

问题一:在mysql的使用部分一直报错,显示42000错误。经过上网查找发现是说明输入格式有错误,经过查改,发现是单引号的格式错误。
问题二:在最后csrf攻击时,一直显示如下画面:

发现是f12copy下来的代码有问题,导致一直点击submit query不能获取flag值,中间使用burp实在是不会操作,一头雾水,最后把html文件修改得到正确结果。
本次实验在Linux下编写了前端和后端,搭建了网页,进行了一些攻击,使用了用来说明WEB应用中存在的安全漏洞的靶场WebGoat,进行了SQL注入、XSS攻击和CSRF攻击,对攻防的知识与一些具体操作结合的更加紧密,领悟的更深刻了,也对Web开发和网络安全有了更深入的理解,受益匪浅。