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网页,连接数据库,进行用户认证(1分)

(5).最简单的SQL注入,XSS攻击测试(1分)

  • 功能描述:用户能登陆,登陆用户名密码保存在数据库中,登陆成功显示欢迎页面。

实验后回答问题

(1)什么是表单

  • HTML 表单用于搜集不同类型的用户输入。
  • 表单包含表单元素——不同类型的 input 元素、复选框、单选按钮、提交按钮等等。
  • 表单有三个基本组成部分:表单标签、表单域、表单按钮;
    • 表单标签(<form>):这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法;
    • 表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等;
    • 表单按钮:包括提交按钮、复位按钮和一般按钮,用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。

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

  • 诸如HTML5,XML,PYTHON,PHP,CGI,JSP等。

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

  • 有的支持php、asp、net、java、ruby等

实验总结与体会

  • 这次主要的尝试是用了PHP脚本语言,之前我们学JAVA web的时候,也写过网页代码,也有前端,后台,数据库,只是我们当时用的是JSP。后来我思考了一下,只有用exclipse启用APACHE服务,本地才能打开jsp页面,后来我想,如果把我们这次做的php换成jsp,在kali里面,应该也是能够运行的。不过这次比较忙,并没有时间尝试……
  • 看到sql和xss能够轻易地攻击,这让我不禁想到为什么之前写代码,老师总是让我们不断地进行边界测试,正是当时代码的不完善,才导致后期运行会出现问题,还是小心为上。

实践过程记录

Apache

  • 修改/etc/apache2/ports.conf里的端口为5211,开启apachectl start命令开启Apach,;这样避免了端口占用问题。
  • 浏览器中输入localhost:5211可以正常开启,前期准备完成。

简单的表单网页

  • 写一个带有表单功能的login页面,在浏览器中打开localhost:5211/5211.html,用了css架构,而且这个云是可以左右移动的,此处无法添加视频,只有静态画面。

javascript

  • 相关概念:JavaScript是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。
  • 文档对象模型(Document Object Model,简称DOM,是W3C组织推荐的处理可扩展标志语言的标准编程接口。
  • 编写验证用户名和密码的规则:(比如用户名和密码必须由字母或数字组成,不能含有非法字符,且密码长度不能超过10)

<script type="text/javascript">
function check(){
var user=document.getElementById("username").value;
var reg_user=/^[a-zA-Z0-9]{1,10}$/;
var pwd=document.getElementById("password").value;
var reg_pwd=/^[a-zA-Z0-9]{1,10}$/;
if(reg_user.test(user)==false){
alert("username wrong");
return false;
}
else if(reg_pwd.test(pwd)==false){
alert("密码不能含有非法字符,长度在1-10之间");
return false;
}
else
return true;
}
</script>

PHP测试

  • PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。
  • 一个简单的php测试代码:
<?php
  echo ($_GET["A"]);
  include($_GET["A"]);
  echo "this is my first php page!<br>";
?>
20145211
  • 打开localhost:5211/login.php:

MySQL

  • 使用命令/etc/init.d/mysql start打开mysql服务
  • 输入mysql -u root -p,并根据提示输入密码,默认密码为[email protected],进入MySQL:

创建新表

  • 使用如下两条命令可以建立新表:
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 刚刚建立的库表的表名

insert into users(userid,username,password,enabled) values(1,‘用户id‘,password("用户密码"),"TRUE");

  • 创建表如下,一定要注意在sql中,不要忘记加“;”,不然就出不来了,只能强行退出

php+mysql编写网页

  • 与数据库链接的php页面:
  • 输入登录信息,登录成功:

  • 在做实验的过程中,我发现数据表的名字不能叫USERS,因为这与默认的冲突,所以得换个名字,否则登录不成功

SQL注入

  • 上课老师讲的是永真注入,不过现在一般正常的网站登录都已经考虑到这个问题,注入是无效的
    ‘ or 1=1#
  • 注入成功:

  • 这是因为注入后的查询SQL语句是:SELECT * FROM users where username=‘‘ or 1=1#‘ and password=password(‘‘);构成了恒成立的条件同样的思路也可以通过sql注入保存用户名密码到数据库:‘;insert into users values(“52110”,"52110"));#,  
  • 查看数据表,发现新添加了一个用户    

  

  • 此时在登录,成功

XSS攻击

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

时间: 2024-08-24 16:38:36

20145211 《网络对抗》Exp8 Web基础的相关文章

2018-2019 20165208 网络对抗 Exp8 Web基础

目录 2018-2019 20165208 网络对抗 Exp8 Web基础 实验内容 基础问题回答 实践过程记录 1. Apache准备 2. Web前端HTML 3. Web前端javascipt 4. Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表 5. Web后端:编写PHP网页,连接数据库,进行用户认证 6. SQL注入 7. XSS攻击测试 实验中遇到的问题 实验感想 2018-2019 20165208 网络对抗 Exp8 Web基础 实验内容

20145321 《网络对抗》 Web基础

20145321 <网络对抗> Web基础 基础问题回答 (1)什么是表单 表单在网页中主要负责数据采集功能,一个表单有三个基本组成部分:表单标签--这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法:表单域--包含了文本框.密码框.隐藏域.多行文本框.复选框.单选框.下拉选择框和文件上传框等:表单按钮:包括提交按钮.复位按钮和一般按钮. (2)浏览器可以解析运行什么语言. HTML语言.XML语言.脚本语言(Java.PHP.Script.JavaScript-) (3

20145326蔡馨熤《网络对抗》—— Web基础

20145326蔡馨熤<网络对抗>-- Web基础 1.实验后回答问题 (1)什么是表单. 表单是一个包含表单元素的区域,表单元素是允许用户在表单中输入信息的元素,表单在网页中主要负责数据采集功能,一个表单有三个基本组成部分:表单标签.表单域.表单按钮. (2)浏览器可以解析运行什么语言. HTML(超文本标记语言) XML(可扩展标记语言) ASP.Python.PHP.JavaScript等众多脚本语言. (3)WebServer支持哪些动态语言. JavaScript.ASP.PHP.R

20144306《网络对抗》Web基础

1  实验内容 Web前端HTML:能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. Web前端javascipt:理解JavaScript的基本功能,理解DOM.编写JavaScript验证用户名.密码的规则. Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表. Web后端:编写PHP网页,连接数据库,进行用户认证. 最简单的SQL注入,XSS攻击测试. 2  实验过程记录 2.1 Apache A

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文件,即前端文件. 附:检查第一步是否成功只需在

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前端

20155330 《网络对抗》 Exp8 Web基础

20155330 <网络对抗> Exp8 Web基础 实验问题回答 什么是表单 表单可以收集用户的信息和反馈意见,是网站管理者与浏览者之间沟通的桥梁. 一个表单有三个基本组成部分 表单标签 表单域:包含了文本框.密码框.隐藏域.多行文本框.复选框.单选框.下拉选择框和文件上传框等 表单按钮:包括提交按钮.复位按钮和一般按钮. 浏览器可以解析运行什么语言 超文本标记语言:HTML 可扩展标记语言:XML 脚本语言:ASP.PHP.Script.JavaScript.VBScript.Perl.P

20155304《网络对抗》Exp8 Web基础

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