1.实验后回答问题
(1)什么是表单.php
- 表单是一个包含表单元素的区域,表单元素是容许用户在表单中输入信息的元素,表单在网页中主要负责数据采集功能,一个表单有三个基本组成部分:表单标签、表单域、表单按钮。
(2)浏览器能够解析运行什么语言.html
- HTML(超文本标记语言)
- XML(可扩展标记语言)
- ASP、Python、PHP、JavaScript等众多脚本语言。
(3)WebServer支持哪些动态语言.前端
- JavaScript、ASP、PHP、Ruby等脚本语言。
2.实验总结与体会
3.实践过程记录
(1).Web前端HTML(1分)
- 经过
service apache2 start
开启Apache2服务
- 使用
netstat -aptn
查看端口占用状况,将端口改成4320
- 测试apache是否正常工做?
- 在kali的firefox浏览器上输入
localhost:4320
- 访问Apache工做目录
cd /var/www/html
,新建一个html文件
- 编写一个含有表单的html



- 在文本框内输入相关信息,而后点击Submit按钮数据会传送到
html_form_action.php
的页面,因为没有对此页面进行编写,因此出现的是404页面。
(2).Web前端javascipt(1分)
- JavaScript是一种用于客户端Web开发的脚本语言,被数百万计的网页用来改进设计、验证表单、检测浏览器、建立cookies。
- 文档对象模型(Document Object Model,简称DOM)是W3C组织推荐的处理可扩展标志语言的标准编程接口。
- 咱们能够用JavaScript来编写一个简单的程序。

效果显示:mysql

(3).Web后端:MySQL基础:正常安装、启动MySQL,建库、建立用户、修改密码、建表(1分)

- 输入
show databases;
,能够查看基本信息

- 若是以为密码太麻烦了,能够经过以下方式更改:
- 输入
use mysql;
,选择mysql
数据库
- 输入
select user, password, host from user;
,mysql
库中的user
表中存储着用户名、密码与权限
- 输入
UPDATE user SET password=PASSWORD("新密码") WHERE user='root';
- 输入
flush privileges;
,更新权限
- 输入
quit
退出,而后从新登陆


使用指令 show tables; 查看表格,输入 describe 表名;能够查看表内设定的参数。数据库

使用指令 insert into cctable values(' '); 插入数据,使用select指令能够查看到咱们添加的数据。apache

四、Web后端:PHP基础
- PHP是一种通用开源脚本语言,语法吸取了C语言、Java和Perl的特色,主要适用于Web开发领域。它能够比CGI或者Perl更快速地执行动态网页。用PHP作出的动态页面与其余的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比彻底生成HTML标记的CGI要高许多;PHP还能够执行编译后代码,编译能够达到加密和优化代码运行,使代码运行更快。
- 咱们能够在/var/www/html目录下新建一个PHP测试文件,简单了解一下它的一些语法:

- 浏览器打开localhost、4320.php能够看到:

- 简单测试完成后,咱们能够利用PHP和MySQL结合以前编的登陆网页进行简单的用户身份认证,这里能够参考老师给的代码编写login.php,代码以下所示


- 使用grant select,insert,update,delete on 数据库名.* to 用户名@localhost, identified by "密码";这句话的意思是将对某数据库的全部表的select,insert,update,delete权限授予某ip登陆的某用户。


六、SQL注入攻击
- SQL注入攻击:能够经过在Web表单中输入(恶意)SQL语句获得一个存在安全漏洞的网站上的数据库,经过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
- .在登陆界面用户名处输入' or 1=1#,密码随意,发现能够成功登陆(在代码中有这个语句select * from users where username='' or 1=1#' and password='' #是注释符,将其后面的内容给注释掉,因此只剩下前面的1=1,这是一个恒成立的式子,所以能够成功的登陆)

- 将login.php文件中if($result = $mysqli->query($query_str))改成if ($result = $mysqli->multi_query($query_str))实现执行多个sql语句
- 在用户名输入框中输入';insert into cc321 values('lc','4320');#SELECT * FROM cc321 WHERE username='' insert into cc321 values('lc','4320');

- 到数据库里查看表的内容就发现多了一条用户信息,下次就可直接用这条用户信息登陆。

七、xss攻击
- XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆。故将跨站脚本攻击缩写为XSS。XSS是一种常常出如今web应用中的计算机安全漏洞,它容许恶意web用户将代码植入到提供给其它用户使用的页面中。好比这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)。这种类型的漏洞因为被骇客用来编写危害性更大的phishing攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击“,而JavaScript是新型的“ShellCode”。
- 将图片保存在/var/www/html下
- 在终端中输入chmod 777 /var/www/html/20154320.jpg 授予任何权限的读,写,运行。

