能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML
理解JavaScript的基本功能,理解DOM。编写JavaScript验证用户名、密码的规则
MySQL基础:正常安装、启动MySQL,建库、创建用户、修改密码、建表
PHP基础:编写PHP网页,连接数据库,进行用户认证
功能描述:
用户能登陆,登陆用户名密码保存在数据库中,登陆成功显示欢迎页面。
正常安装、启停Apache
service apache2 start
启动Apache服务127.0.0.1
,如果可以打开Apache的默认网页,则开启成功理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML
GET和POST:
GET:
从指定的资源请求数据,只应当用于取回数据,不应在处理敏感数据时使用
POST:
向指定的资源提交要被处理的数据
cd /var/www/html
进入Apache目录下,编写一个简单的含有表单的html文件5315form.html127.0.0.1/5315form.html
尝试打开理解JavaScript的基本功能,理解DOM
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。JavaScript的源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行。
由三部分组成:
功能:
DOM简介:
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口。它是一种与平台和语言无关的应用程序接口(API),它可以动态地访问程序和脚本,更新其内容、结构和www文档的风格(目前,HTML和XML文档是通过说明部分定义的)。文档可以进一步被处理,处理的结果可以加入到当前的页面。DOM是一种基于树的API文档,它要求在处理过程中整个文档都表示在存储器中。
编写JavaScript验证用户名、密码的规则
MySQL基础:正常安装、启动MySQL,建库、创建用户、修改密码、建表
/etc/init.d/mysql start
开启MySQL服务mysql -u root -p
使用root权限进入,密码默认是password
use mysql
进入Mysql目录update user set password=PASSWORD("新密码") where user=‘root‘;
,修改密码flush privileges;
,更新权限exit
退出数据库,使用新的密码登录create database 数据库名称;
建立数据库show databases;
查看存在的数据库use 数据库名称;
使用我们创建的数据库create table 表名 (字段1,字段2 ···);;
建立数据库表,并设置字段基本信息show tables;
查看表信息insert into 表名 values(‘值1‘,‘值2‘,‘值3‘...);
插入数据select * from 表名;
查询表中的数据grant select,insert,update,delete on 数据库.* to 新用户名@登录主机 identified by "新密码";
在MySQL中增加新用户编写PHP网页,连接数据库,进行用户认证
5315php.php
,利用PHP和MySQL,结合之前编写的登录网页进行登录身份认证功能描述:用户能登陆,登陆用户名密码保存在数据库中,登陆成功显示欢迎页面。
SQL注入漏洞是指在Web应用对后台数据库查询语句处理存在的安全漏洞。也就是,在输入字符串中嵌入SQL指令,在设计程序中忽略对可能构成攻击的特殊字符串的检查。后台数据库将其认作正常SQL指令后正常执行,可能实现对后台数据库进行各种操作,甚至造成破坏后台数据库等严重后果。
‘or 1=1 --
,此时查询语句为select * from users where name=‘‘ or 1=1 --‘and password=‘1‘;
,其中“--”在MySQL代表注释,查询语句实际为select * from users where name=‘‘ or 1=1
,这个条件恒成立,因此数据库不会报错并且提交,可以看到连接成功XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中,简单说就是在网站任何接受正常文本输入的地方,输入Javascript脚本,并让脚本执行。
<img src="5315.jpg" />
,密码随意,就可以读取图片<a href="5315.txt">open test</a>
,密码随意,我们就可以直接打开该文本文件解决过程:
应该是内存被别的进程占用了,使用指令systemctl daemon-reexec
将你的内存占用释放就行了
解决过程:
这是因为我直接从文件中打开了5315form.html
,导致其跳转也是跳转到文件路径的5315php.php
,从127.0.0.1/5315form.html
访问就没有问题了
解决过程:
这是由于没有进入5315sql这个数据库的原因,在代码中加入如下代码就可以了。
# $query_str1="use 5315sql;";
# if ($result = $mysqli->query($query_str1))
# echo"<br>Success into database!";
解决过程:
php代码中没有输出用户名,加上echo $uname;
就可以了~
表单是用来收集输入的数据的,表单由三个部分组成:
表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法
表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等
表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作
浏览器可以解析HTML,PHP,JavaScript,XML,Python,ASP等脚本语言
主要支持ASP、JSP、PHP三种动态网页语言。
ASP全名"Active Server Pages",是一个WEB服务器端的开发环境,ASP采用脚本语言VBScript(Java script)作为自己的开发语言
PHP全名"Hypertext Preprocessor"是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl语言的语法,并融合PHP自己的特性,使WEB开发者能够快速地写出动态产生页面
JSP全名"Java ServerPage",可以在Servlet和JavaBean的支持下,完成功能强大的站点程序
这次实验对我来说比前几次的要熟悉很多,像前端后台编程这些知识,在上学期的网络安全编程基础中已大致学习过,而数据库的知识在去年的Java课程中也已有所了解。而本次实验在原本的网页编程基础上增加了很多如php、数据库连接的功能,让我们直观地体会到一个网站运行的过程中参数的传递和应用,更明白网页攻击的原理与过程。要想做一个完全安全的网页要考虑很多,数据库参数的连接、字符串等都要进行一些特殊的处理才能真正达到安全的需要。
2018-2019-2 20165315《网络对抗技术》Exp 8 Web基础
原文:https://www.cnblogs.com/yh666/p/10867077.html