Exp8 Web基础

Exp8 Web基础


20154316 王帅峰

一、基础问题回答

1.什么是表单?

表单是一个包含表单元素的区域,表单元素是允许用户在表单中(比如:文本域、下拉列表、单选框、复选框等等)输入信息的元素,表单在网页中主要负责数据采集功能,一个表单有三个基本组成部分:表单标签、表单域、表单按钮;

表单标签(

):这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法;

表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等;

表单按钮:包括提交按钮、复位按钮和一般按钮,用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。

2.浏览器可以解析运行什么语言?

支持HTML(超文本标记语言)、XML(可扩展标记语言)以及Python、PHP、JavaScript、ASP等众多脚本语言。

3.WebServer支持哪些动态语言?

JavaScript、ASP、PHP、Ruby等脚本语言,ASP基于IIS WEB SERVER,是微软的服务器端脚本技术,PHP基于APACHE WEB SERVER,与ASP有几分类似,都是一种在服务器端执行的嵌入HTML文档的脚本语言。

二、实验内容

1、Web前端:HTML基础

输入

sudo vi/etc/apache2/ports.conf查看apache端口情况,更改端口号。我改为4316

通过service apache2 start开启Apache,使用netstat -aptn查看确认端口占用

浏览器中输入localhost:4316,登录到Apache首页验证其可用

访问Apache工作目录cd /var/www/html,新建一个4316.html文件,并写入从网上找的表单代码:

登录浏览器,输入localhost:4316/4316.html,成功出现下图界面:

2、Web前端javascipt

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

DOM是文档对象模型,DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构,换句话说,这是表示和处理一个HTML或XML文档的常用方法。举个例子,要改变页面的某个东西,JavaScript就需要获得对HTML文档中所有元素进行访问的入口。这个入口,连同对HTML元素进行添加、移动、改变或移除的方法和属性,都是通过DOM来获得的。

编写验证用户名和密码的规则:(比如用户名和密码不能为空),代码如下:

登入浏览器,输入localhost:4316/4316.html进行测试。

当没有输入密码时,出现如下界面:

当没有密码小于6位时,出现如下界面:

3、 MySQL基础

在web开发中我们要用到后台数据库,而MySQL就是一个数据库管理系统,类似的还有SqlServer、oracle等等,由于MySQL是开放的,不收费,所以一般中小型网站的开发都选择MySQL作为网站数据库。

先输入/etc/init.d/mysql start指令开启mysql服务,输入mysql -u root -p,并根据提示输入密码,默认密码为[email protected],进入MySQL,注意:在MySQL中输入命令后面都要带一个分号作为命令结束符:

使用use 库名;使用我们创建的数据库:

输入mysql -u root -p,以root身份登录,根据提示输入密码,默认密码为[email protected],进入MySQL

修改密码

输入use mysql;,选择mysql数据库

输入UPDATE user SET password=PASSWORD("新密码") WHERE user=‘root‘;更改用户名root的密码

输入flush privileges;,更新权限。

输入insert into 表名 values(‘wsf‘,‘20154316‘);插入数据

输入show tables;查看标签:

输入quit退出,重新输入mysql -u root -p重新进入,使用新密码登录成功,说明修改成功

输入CREATE SCHEMA 库表的名称;(出现了诸多错误,经过不懈的查询资料得出到解决,不是名字有问题就是格式不对)

输入

CREATE TABLE `库表的名称`.`users` (
 `userid` INT NOT NULL COMMENT ‘‘,
 `username` VARCHAR(45) NULL COMMENT ‘‘,
 `password` VARCHAR(256) NULL COMMENT ‘‘,
 `enabled` VARCHAR(5) NULL COMMENT ‘‘,
 PRIMARY KEY (`userid`) COMMENT ‘‘);

在表中添加内容

输入use wsf-20154316打开表

输入insert into users(userid,username,password,enabled) values(1,‘20154316‘,password("20154316"),"TRUE");进行内容的添加

使用show databases;查看存在的数据库;

4、Web后端:PHP基础

PHP是一种通用开源脚本语言,语法吸收了C语言、Java和Perl的特点,主要适用于Web开发领域。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

.测试一下php。还是在原位置新建一个php文件

*以下是一个php测试代码:

在浏览器中输入localhost:4316/4316.php转到这个测试界面:

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

<?php

$uname=($_POST["username"]);
$pwd=($_POST["password"]);

/* echo $uname; */

$query_str="SELECT * FROM yqh666table where username=‘$uname‘ and password=‘$pwd‘;";

/* echo "<br> {$query_str} <br>";*/

$mysqli = new mysqli("127.0.0.1", "hqy", "20154322", "yqh666");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}
echo "connection ok!";
/* Select queries return a resultset */
if ($result = $mysqli->query($query_str)) {
    if ($result->num_rows > 0 ){
        echo "<br> Welcome login Mr/Mrs:{$uname} <br> ";
    } else {
        echo "<br> login failed!!!! <br> " ;
    }

    /* free result set */
    $result->close();
}

$mysqli->close();

?>

打开浏览器输入localhost:4316/4316.html登录,输入用户名及密码,会自动跳转到4316.php

用户名和密码是数据库中表中的username和password

对的用户名和密码:

错误的用户名及密码:

6、SQL注入攻击

SQL注入攻击:可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

在登录界面用户名处输入‘ or 1=1#,密码随意,发现可以成功登录(在代码中有这个语句select * from users where username=‘‘ or 1=1#‘ and password=‘‘ #是注释符,将其后面的内容给注释掉,所以只剩下前面的1=1,这是一个恒成立的式子,因此可以成功的登录)

7、xss攻击

XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆。故将跨站脚本攻击缩写为XSS。XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)。这种类型的漏洞由于被骇客用来编写危害性更大的phishing攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击“,而JavaScript是新型的“ShellCode”。

将图片保存在/var/www/html下:

用户名输入<img src="20154311.jpg">123</a>

查了相关的资料后知道这是因为电脑的权限不够,在终端中输入chmod 777 /var/www/html/4316.jpg 授予任何权限的读,写,运行。最终成功了!

三、心得体会

  这次实验用时比较久,任务量很大,需要了解的只是也很多,课下要学习表单网页代码,数据库的建立,并且与网页的联系,实验过程中遇到了很多麻烦,经历了众多坎坷之后终于做出了web的入侵,再一次的感到恶意代码的厉害,在以后的学习中要更多的学习相关知识,避免不必要的网络恐慌。

原文地址:https://www.cnblogs.com/wangshuaifeng/p/9073746.html

时间: 2024-10-08 22:00:52

Exp8 Web基础的相关文章

20145301赵嘉鑫《网络对抗》Exp8 Web基础

20145301赵嘉鑫<网络对抗>Exp8 Web基础 基础问题回答 什么是表单? 表单是一个包含表单元素的区域,主要负责数据采集部分.表单元素允许用户在表单中输入信息.一个表单有三个基本组成部分:表单标签.表单域.表单按钮: 表单标签:包含处理表单数据所用的URL以及数据提交到服务器的方法: 表单域:包含了文本框.密码框.多行文本框.下拉选择框等等: 表单按钮:包括提交按钮.复位按钮和一般按钮. 浏览器可以解析运行什么语言? 支持HTML(超文本标记语言).XML(可扩展标记语言)以及Pyt

20145331魏澍琛《网络对抗》Exp8 Web基础

20145331魏澍琛<网络对抗>Exp8 Web基础 实践内容: 1.简单的web前端页面(HTML.CSS等) 2.简单的web后台数据处理(PHP) 3.Mysql数据库 4.一个简单的web登陆页面例子 5.SQL注入.XSS攻击 Web前端:HTML基础 1.先将apache的端口号设为80(上节已经设置好了),接着结束掉占用80端口的进程,再启动apache. 2.在/var/www/html目录下创建20145331wsc.html文件,即前端文件. 附:检查第一步是否成功只需在

20145211 《网络对抗》Exp8 Web基础

20145211 <网络对抗>Exp8 Web基础 本实践的具体要求有: (1).Web前端HTML(1分) 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. (2).Web前端javascipt(1分) 理解JavaScript的基本功能,理解DOM.编写JavaScript验证用户名.密码的规则. (3).Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表(1分) (4).Web后端:编写PHP网

《网路对抗》Exp8 WEB基础实践

20155336<网路对抗>Exp8 WEB基础实践 一.基础问题回答 1.什么是表单 表单是一个包含表单元素的区域,表单元素是允许用户在表单中(比如:文本域.下拉列表.单选框.复选框等等)输入信息的元素,表单在网页中主要负责数据采集功能,一个表单有三个基本组成部分:表单标签.表单域.表单按钮: 2.浏览器可以解析运行什么语言 常见的可以使用html语言.xml语言.以及php语言.javascript语言,本次实验都有所涉及,还有python语言. 3.WebServer支持哪些动态语言 j

2017-2018-2 20155314《网络对抗技术》Exp8 Web基础

2017-2018-2 20155314<网络对抗技术>Exp8 Web基础 目录 实验内容 实验环境 基础问题回答 预备知识 实验步骤 1 Apache的安装与配置 2 前端编程 3 后端编程 PHP的安装与配置 4 MYSQL的安装与配置 5 简单SQL注入与XSS 实验中遇到的问题及解决过程 实验总结与体会 参考资料 返回目录 实验内容 Web前端HTML(0.5分) 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. Web前端

20154322杨钦涵 EXP8 Web基础

EXP8 Web基础 一.基础问题回答 1.什么是表单? 表单:表单在网页中主要负责数据采集功能. 基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. 表单域:包含了文本框.密码框.隐藏域.多行文本框.复选框.单选框.下拉选择框和文件上传框等. 表单按钮:包括提交按钮.复位按钮和一般按钮:用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作. 2.浏览器可以解析运行什么语言 超文本标记语言:HTML

Exp8 Web基础 20154328 常城

Exp8 Web基础 20154328 常城 一.基础问题回答 什么是表单? 表单是一个包含表单元素的区域,表单元素是允许用户在表单中(比如:文本域.下拉列表.单选框.复选框等等)输入信息的元素,表单在网页中主要负责数据采集功能,一个表单有三个基本组成部分:表单标签.表单域.表单按钮: 表单标签():这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法: 表单域:包含了文本框.密码框.隐藏域.多行文本框.复选框.单选框.下拉选择框和文件上传框等: 表单按钮:包括提交按钮.复位

20154331 EXP8 web基础

EXP8 Web基础 一.基础问题回答 1.什么是表单? 答: 表单:表单在网页中主要负责数据采集功能. 基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. 表单域:包含了文本框.密码框.隐藏域.多行文本框.复选框.单选框.下拉选择框和文件上传框等. 表单按钮:包括提交按钮.复位按钮和一般按钮:用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作. 2.浏览器可以解析运行什么语言? 答: 超文本标记

20155306 白皎 《网络攻防》 EXP8 Web基础

20155306 白皎 <网络攻防> EXP8 Web基础 一.问题回答 - 什么是表单 表单:一般用来收集用户的信息和反馈意见 表单包括两个部分:一部分是HTML源代码用于描述表单(例如,域,标签和用户在页面上看见的按钮),另一部分是脚本或应用程序用于处理提交的信息(如CGI脚本).不使用处理脚本就不能搜集表单数据.表单由文本域.复选框.单选框.菜单.文件地址域.按钮等表单对象组成,所有的部分都包含在一个由标识符标志起来的表单结构中.表单的种类有注册表.留言薄.站点导航条.搜索引擎等. -

20155223 Exp8 WEB基础实践

20155223 Exp8 WEB基础实践 基础问题回答 什么是表单? 表单是一个包含表单元素的区域. 表单元素是允许用户在表单中(比如:文本域.下拉列表.单选框.复选框等等)输入信息的元素. 表单使用表单标签定义. 浏览器可以解析运行什么语言? 超文本标记语言:HTML 可扩展标记语言:XML 还有各类脚本语言. WebServer支持哪些动态语言? 这几种语言:ASP.JSP.PHP. 实践内容 Web前端HTML 欲运行Web,首先先确认本机安装有apache2.输入命令:apache2