20145203盖泽双 《网络对抗技术》实践八:Web基础

时间:2023-12-18 18:35:44

20145203盖泽双 《网络对抗技术》实践八:Web基础

1.实践目标

(1)编写Web前端——含有表单的HTML代码。

(2)编写Web前端——javascipt验证用户名、密码的代码,理解JavaScript的基本功能。

(3)Web后端——MySQL基础的安装、启动、建库、创建用户、修改密码、建表。

(4)Web后端——编写PHP网页,连接数据库,进行用户认证。

(5)做出最简单的SQL注入,XSS攻击测试。

2.实验后回答问题

(1)什么是表单

表单在网页中主要负责数据采集功能。有三个基本组成部分:
-表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。
-表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。
-表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。

(2)浏览器可以解析运行什么语言。

	超文本语言HTML、可扩展标记语言XML以及多种脚本语言。

(3)WebServer支持哪些动态语言

	PHP、JavaScript等语言

3.实验总结与体会

 	这次实验好难呀,代码编的我眼睛都花了(((φ(◎ロ◎;)φ)))!真心佩服课题负责人天晨。感觉看老师上课弄得挺容易的,果然一涉及到编代码,我就歇菜了,以后还是要多练一练。
通过这次实验,我理解了浏览器的工作模式,还会编写简单的浏览器网页了。虽然之前学过一点,但是代码基本没自己编过,这次通过自己对代码的编写和理解,对WEB的结构更清楚了一些。所以收获还是很多的。

4.实践过程记录

(1)Web前端HTML

1、能正常安装、启停Apache。

①安装apache。(老师给的kali中,apache已装好。)

sudo apt-get install apache2
service apache2 start

②查看apache常用的命令。

20145203盖泽双 《网络对抗技术》实践八:Web基础

③修改/etc/apache2/ports.conf 配置文件中apache2的监听端口号。

vi /etc/apache2/ports.conf

20145203盖泽双 《网络对抗技术》实践八:Web基础

④开启apache,并查看端口号,确认监听端口配置成功。

service apache2 start
netstat -aptn

20145203盖泽双 《网络对抗技术》实践八:Web基础

⑤用浏览器打开192.168.52.131:5203,进行测试。

20145203盖泽双 《网络对抗技术》实践八:Web基础

2、理解HTML,理解表单。

HTML是用来描述网页的一种语言。
-HTML 指的是超文本标记语言 (Hyper Text Markup Language)
-HTML 不是一种编程语言,而是一种标记语言 (markup language)
-标记语言是一套标记标签 (markup tag)
-HTML 使用标记标签来描述网页
表单在网页中主要负责数据采集功能。有三个基本组成部分:
-表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。
-表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。
-表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。

3、理解GET与POST方法。

GET和POST是HTTP请求的两种基本方法,两者的区别为:
-get是从服务器上获取数据,post是向服务器传送数据。
- get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
- 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
- get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
- get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

4、编写一个含有表单的HTML。

①在/var/www/html目录下编写网页文件20145203.html。

20145203盖泽双 《网络对抗技术》实践八:Web基础

②用浏览器打开192.168.52.131:5203/20145203.html,查看自己编写的HTML。

20145203盖泽双 《网络对抗技术》实践八:Web基础

③因为没有编写好20145203.php,所以提交后找不到页面。

20145203盖泽双 《网络对抗技术》实践八:Web基础

(2)Web前端javascipt

1、 理解JavaScript的基本功能。

    JavaScript:一种直译式脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

2、 理解DOM。

	DOM:Document Object Model,文档对象模型,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。要改变页面的某个东西,JavaScript 就需要获得对 HTML 文档中所有元素进行访问的入口。这个入口,连同对 HTML 元素进行添加、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的。

** 3、编写JavaScript验证用户名、密码的规则。**

①在原网页文件中添加javascript代码。

20145203盖泽双 《网络对抗技术》实践八:Web基础

②在浏览器中打开,当输入的账号密码为空或者输入的账号长度不为8时,将会弹出提示错误!

20145203盖泽双 《网络对抗技术》实践八:Web基础

20145203盖泽双 《网络对抗技术》实践八:Web基础

(3)Web后端:MySQL基础与PHP网页

1、正常安装、启动MySQL,完成建库、创建用户、修改密码、建表等操作

①安装MySQL。(老师的kali中已安装)

apt-get install mysql-server mysql-client mysql-workbench

②MySQL的常用命令。

/etc/init.d/mysql start

③开启MySQL服务。

/etc/init.d/mysql start

20145203盖泽双 《网络对抗技术》实践八:Web基础

④进入到MySQL中。初始密码:p@ssw0rd

mysql -u root –p

20145203盖泽双 《网络对抗技术》实践八:Web基础

⑤修改MySQL的密码。

20145203盖泽双 《网络对抗技术》实践八:Web基础

⑥创建新的库表。

20145203盖泽双 《网络对抗技术》实践八:Web基础

20145203盖泽双 《网络对抗技术》实践八:Web基础

⑦在表中添加用户。

20145203盖泽双 《网络对抗技术》实践八:Web基础

2、编写PHP网页

①在/var/www/html目录下编写登陆成功后跳转的页面20145203.php。

②登录失败时页面为:

20145203盖泽双 《网络对抗技术》实践八:Web基础

③登陆成功时页面为:

20145203盖泽双 《网络对抗技术》实践八:Web基础

(4)最简单的SQL注入,XSS攻击测试

1、SQL注入

①在帐号处输入' or 1=1#,密码随便填。登陆成功。

20145203盖泽双 《网络对抗技术》实践八:Web基础

②在帐号处输入';insert into users(userid,username,password,enabled) values(888,'5204',password("20145204"),"TRUE");#,密码随便填。登陆一下!此时在查看数据库,注入成功!

20145203盖泽双 《网络对抗技术》实践八:Web基础

③使用添加的账号密码登陆,登陆成功!

20145203盖泽双 《网络对抗技术》实践八:Web基础

2、XSS攻击

①在帐号处输入<img src="5203.png" />20145203</a>,密码输入正确的密码,登录失败!

20145203盖泽双 《网络对抗技术》实践八:Web基础