20145216史婧瑶《网络对抗》Web基础
实验问题回答
(1)什么是表单
表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分: 表单标签、表单域、表单按钮。
(2)浏览器可以解析运行什么语言
支持HTML、XML、PHP、Javascript等脚本语言。
(3)WebServer支持哪些动态语言
JavaScript、ASP、PHP、Ruby等脚本语言。
实验总结与体会
这次实验让我重温了上学期的网络安全编程基础,编写代码简直花了我百分之八十的精力,主要是在编写代码的过程中出现了一些问题,然后我就一遍一遍的调试,眼睛都看花了,不过这次实验学到的东西还是很多,比如对Web前端后端代码的编写、数据库的连接以及SQL注入、XSS攻击测试都有所掌握,所以,要始终相信付出总会有回报的。
实践过程记录
Web前端HTML
1.输入指令apachectl start
开启apache服务,使用netstat -aptn
查看端口占用,发现被进程602占用,使用命令sudo vi /etc/apache2/ports.conf
将配置文件中默认监听端口改为8080。(后面实验我又改为了5216)
2.再次打开Apacheservice apache2 restart
,登录localhost:8080可以看见上次生成的钓鱼网站
3.在虚拟机/var/www/html
文件夹下新建一个含有表单的html,在这里编写登录页面的代码
4.由于没有编写html_form_action.php,输入用户名密码,显示404
Web前端javascipt
1.使用javascript编写一段验证用户名及密码的规则,在这里设定的是用户名和密码不能为空
2.打开浏览器登录页面验证一下,当输入的用户名或密码为空时会弹出窗口
Web后端:MySQL基础
1.输入/etc/init.d/mysql start
开启mysql服务
2.输入mysql -u root -p
,并输入密码p@ssw0rd
进入mysql
3.修改密码:输入use mysql;
,选择mysql数据库;输入update user set password=PASSWORD("新密码") where user='root';
,修改密码;输入flush privileges;
,更新权限
4.接着输入quit退出mysql,重新进入,使用新密码登录成功,说明修改成功
5.输入create database 库名;
建立一个数据库;输入show databases;
查看存在的数据库;输入use 库名;
使用我们创建的数据库
6.在mysql中建立库表,并向新建立的表中添加用户
Web后端:编写PHP网页
1.在/var/www/html
目录下新建一个php测试文件
2.在浏览器中打开localhost:5216/test.php
,可以看到如下界面
3.简单测试完成后,我们可以利用php和mysql结合之前编的登录网页进行简单的用户身份认证,这里可以参考老师给的代码编写login.php,代码如下所示:
4.现状可以在浏览器中访问自己的登陆页面,如果输入的用户名和密码与数据库中存有的用户名和密码相一致,则登录成功,否则登录失败
SQL注入
1.使用永真式进行注入。因为1恒等于1,所以条件恒成立,注入成功
2.通过sql注入将用户名和密码保存到数据库
用注入的用户名和密码进行登录显示登陆成功
XSS攻击测试
在登录的用户名中输入:<img src="20145216.jpg" />20145216</a>
即可读取/var/www/html文件夹下的图片