******## 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.实验过程
(1)Web前端HTML
使用指令service apache2 start启动apache服务
在浏览器输入kali的ip显示正常
在 /var/www/html目录下,新建一个含有表单的html文件20192407login.html
在浏览器中打开显示正常
(2)Web前端javascipt
创建一个含表单的HTML
在用户点击登陆按钮后回显“欢迎+输入的用户名
(3)Web后端:MySQL基础:正常安装、启动MySQL,建库、创建用户、修改密码、建表
开启mysql并登录
建库
查看数据库
建立表logininfo,插入“xjy”和“20192407”并查看数据库内容
修改密码
创建用户
新用户可以正常登录
(4)Web后端:编写PHP网页,连接数据库,进行用户认证
编写前端和后端代码:
进入网页运行成功
附:数据库
******(5)最简单的SQL注入,XSS攻击测试 ******
sql注入:
XSS攻击测试:输入
(6)安装Webgoat或类似平台,并完成SQL注入、XSS、CSRF攻击。
下载Webgoat并使用java -jar webgoat-server-8.2.2.jar指令加载
登录webgoat
sql注入:得到表的内容
xss攻击
CSRF攻击
通过csrf的方式跨站点提交请求,然后填入响应的flag。
将GET请求的头部referer字段要去掉,在burpsite里面提交一下,然后就获得了flag,
******## 3.问题及解决方案 ******
- 问题1:数据库无法正常启动:
** 问题1解决方案:在网上查询执行代码:flush privileges即可。**
4.学习感悟、思考等
本次实验难度适中但内容较为繁琐,kali和数据库也在使用中出现了不少小毛病好在得以解决。本次实验让我对前端的HTML,后端的PHP,数据库以及SQL注入攻击、XSS攻击、CSRF攻击有了更深的理解。对网上的攻击手段也有了进一步的了解。