1.实验内容
1.1 本周学习内容回顾
1.2 实验要求
(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
在kali终端输入如下命令:
netstat -tupln | grep 80 //查找正在监听TCP或UDP端口80的进程
systemctl start apache2 //启动Apache HTTP服务器
netstat -aptn //显示系统上所有的TCP连接和监听套接字
结果如下图:
在浏览器中访问网址 http://127.0.0.1
,发现Apache开启成功,如下图所示:
2.1.2 编写一个含有表单的HTML
在kali终端输入vi /var/www/html/20222410.html
命令( /var/www/html/ 通常是Apache HTTP
服务器在Linux系统中用于存放Web内容的默认目录),编辑创建一个登陆界面,代码具体如下:
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"></head><body><h1>Login</h1><form method="post"><font>账号:</font><input type="text" name="username" id="username"><br><font>密码:</font><input type="password" name="password" id="password"><br><button onclick="login()">login</button></form>
</body>
</html>
如下图所示:
2.1.3 浏览器打开编辑的网页
打开浏览器,访问网址 http://127.0.0.1/20222410.html
结果如下图所示:
2.2 Web前端javascipt
2.2.1 编写JavaScript验证用户名、密码的规则,在用户点击登陆按钮后回显“欢迎+输入的用户名”
所用代码如下:
<script>
function login(){
const usrname=document.getElementById("username").value;
const password=document.getElementById("password").value;
if (username === "" || password === "") { alert(" username or password can not be null!"); return;
} else if (password !== "20222410") { alert(" Your password is wrong!"); return;
}else {
document.write("Welcome! "+ yinhao)
}
}
</script>
具体如下图所示:
2.2.2 浏览器打开编辑的网页
打开浏览器,访问网址 http://127.0.0.1/20222410.html
若输入的账号或者密码为空,会提示 username or password can not be null!
若输入的密码错误,会提示Your password is wrong!
输入密码正确,则登陆成功,打印Welcome!yinhao!
3.问题及解决方案
- 问题1:XXXXXX
- 问题1解决方案:XXXXXX
- 问题2:XXXXXX
- 问题2解决方案:XXXXXX - ...
4.学习感悟、思考等
xxx xxx