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.实验过程
2.1 Web前端HTML
2.1.1 正常安装、启停Apache
使用service apache2 start命令打开Apache服务。此时在浏览器输入 127.0.0.1,如果可以打开Apache的默认网页,则表示开启成功
查看Apache状态,显示开启状态
2.1.3 编写一个含表单的HTML
先在记事本写好含表单的登陆页面html代码,我的如下:
cd /var/www/html 进入html的文件夹
touch 20222328.html 创建html文件
vi 20222328.html 进入编辑页面,将html代码粘贴进去
service apache2 start 打开Apache服务
使用浏览器打开制作的网页,在浏览器输入localhost/20222328.html
可跳转到自己的登陆界面
提交表单
2.2.2 编写JavaScript验证用户名、密码的规则。在用户点击登陆按钮后回显“欢迎+输入的用户名”
在login.html加上一段JavaScript正则表达式,来判断用户是否填写了用户名和密码。规则为:用户名须为6-12位字母/数字/中文,密码为1-20位纯数字。代码如下:
使用浏览器打开制作的网页,在浏览器输入localhost/20222328.html
编写一个在用户点击登陆按钮后回显“欢迎+输入的用户名”的PHP页面
输入正确格式的用户名和密码后点击登录,成功跳转到欢迎界面
2.2.3 尝试注入攻击:利用回显用户名注入HTML及JavaScript
进入20222301login.html编辑页面,先把最大字数限制改成99
尝试XSS攻击(跨站脚本攻击):
XSS即跨站脚本攻击,原理是恶意攻击者往 Web 页面里插入恶意可执行网页脚本代码,当用户浏览该页之时,嵌入其中 Web 里面的脚本代码会被执行,从而可以达到攻击者盗取用户信息或其他侵犯用户安全隐私的目的。这些恶意网页程序通常是JavaScript。
准备一段脚本,注入在输入框中,随着登录信息一起提交表单
http://www.xxx.com/?id=" /><br x="
直接以该脚本作为用户名
点击提交,回显恶意脚本内容,攻击成功!这段脚本已经成功嵌入到页面当中。当受害浏览器访问这个页面的时候,这段脚本也将被认为是页面的一部分,从而得到执行,即弹出对话框显示受害浏览器的Cookie信息。
2.3 Web后端:MySQL基础,正常安装、启动MySQL,修改密码、创建用户
kali虚拟机自带mysql,输入systemctl start mysql开启MySQL服务
输入mysql -u root -p使用root权限进入,需要输入密码(就是你登录的密码)
2.4 Web后端:编写PHP网页,连接数据库,进行用户认证
保持数据库和apache开启状态,在火狐浏览器输入html本地网址:http://localhost/2328.html
输入正确的账号密码: