2019-2020-2 网络对抗技术 20175330 Exp8 Web基础

2019-2020-2 网络对抗技术 20175330 Exp8 Web基础

目录
  • 2019-2020-2 网络对抗技术 20175330 Exp8 Web基础
    • 实验原理与问题回答
      • 实践原理
      • 基础问题回答
    • 实验内容
      • 任务一:Web前端HTML
      • 任务二:Web前端:javascipt
      • 任务三:Web后端:MySQL基础
      • 任务四:Web后端:编写PHP网页
      • 任务五:最简单的SQL注入,XSS攻击测试
    • 实验中遇到的问题及解决方法
    • 实验感想

实验原理与问题回答

实验原理

1.基础知识

  • HTML
    • 用HTML编写的超文本文档称为HTML文档,它能独立于各种操作系统平台(如UNIX, Windows等)。使用HTML语言,将所需要表达的信息按某种规则写成HTML文件,通过专用的浏览器来识别,并将这些HTML文件“翻译”成可以识别的信息,即现在所见到的网页。
  • Javascipt
    • JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。
  • MySQL
    • MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
  • PHP
    • PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。
       

基础问题回答

1、 什么是表单

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

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

  • HTML
  • XML
  • PHP
  • Javascript
  • VBScript

3、WebServer支持哪些动态语言

三大类为ASP(ActiveServerPages),JSP(JavaServerPages),PHP(HypertextPreprocessor)

  • ASP是Active Server Page的缩写,意为“活动服务器网页”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,常用于各种动态网站中。 ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。
  • JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
  • PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。

实验内容

任务一:Web前端HTML

step1:因为kali已安装Apache,直接输入service apache2 start命令打开Apache服务。

step2:打开浏览器输入127.0.0.1,如果打开如图所示的Apache默认网页,说明开启成功

step3:输入cd /var/www/html进入Apache目录,使用vim建立一个html文件EXP.html

step4:打开浏览器并输入/var/www/html/EXP.html通过浏览器打开HTML文本。

任务二:Web前端:javascipt

step1:修改原来的HTML文件,添加一段JavaScript代码使其拥有对用户是否填写邮箱和密码的判断的功能。

step2:打开浏览器并输入/var/www/html/EXP2.html,如果用户邮箱或密码未填写便会弹出提示框

任务三:Web后端:MySQL基础

step1:输入/etc/init.d/mysql start打开MySQL

step2:输入mysql -u root -p使用root权限进入,默认的密码为空。

step3:输入show databases;查看各个数据库列表

step4:输入use mysql;使用mysql数据库

step5:输入select user, password, host from user;查看用户信息

step6:输入update user set password=PASSWORD("5330") where user='root';修改密码;

step7:输入flush privileges;更新权限

step8:输入exit退出数据库

step9:输入create database mySQ;建立数据库

step10:输入use mySQ;使用mySQ数据库

step11:输入create table mySQ (username varchar(20),password varchar(20));建立数据库表,设置字段信息

step12:输入show tables;查看表信息

step13:输入insert into mySQ values('20175330','yjx',);将数据写入。

step14:输入select * from mySQ;查询数据

step15:输入 grant select,insert,update,delete on mySQ.* to mySQ@localhost identified by "20175330";在MySQL中增加新用户。

step16:输入exit退出,然后使用新的用户名和密码进行登录,如果登录成功,说明成功增加新用户。

任务四:Web后端:编写PHP网页

step1:建立一个PHP文件 EXP-8.php

step2:在浏览器网址栏中输入localhost:80/EXP-8.php,检验文件是否可以运行

step3:通过PHP和MySQL与之前编写的登录网页便可以完成身份认证的功能,下图为修改后的EXP-8.php代码

step4:输入用户名和密码进行认证,成功登陆

step5:故意输入错误用户名和密码。

任务五:最简单的SQL注入,XSS攻击测试

SQL注入

SQL注入(SQLi)是一种注入攻击,,可以执行恶意SQL语句。它通过将任意SQL代码插入数据库查询,使攻击者能够完全控制Web应用程序后面的数据库服务器。
攻击者可以使用SQL注入漏洞绕过应用程序安全措施;可以绕过网页或Web应用程序的身份验证和授权,
并检索整个SQL数据库的内容;还可以使用SQL注入来添加,修改和删除数据库中的记录。 SQL注入漏洞可能会影响使用SQL数据库(如MySQL,Oracle,SQL Server或其他)的任何网站或Web应用程序。
犯罪分子可能会利用它来未经授权访问用户的敏感数据:客户信息,个人数据,商业机密,知识产权等。
SQL注入攻击是最古老,最流行,最危险的Web应用程序漏洞之一。

step1:在用户名输入框输入' or 1=1#,随意输入密码。

step2:显示登陆成功

原因:

一般SQL代码中会有这么一段
SELECT * FROM TABLENAME WHERE ID = 变量知,
当通过注入后会变成
SELECT * FROM TABLENAME WHERE ID = 变量 OR 1=1;
就会使WHERE后面的表达道式变成一句可回有可无的表达式,与
SELECT * FROM TABLENAME相等
然后就可以通过这种句式来取得当前数据表中所答有的用户信息。


SELECT * FROM TABLENAME WHERE ID = 变量,
当通过注入百后会变成
SELECT * FROM TABLENAME WHERE ID = 变量 OR 1=1;
就会使WHERE后面的表达式度变成一句可有可无的表达式,与
SELECT * FROM TABLENAME相等
然后就可以知通过这种句式来取得当前数据表道中所有的用户信息。

SELECT * FROM TABLENAME WHERE ID = 变量,
当通过注入百后会变成
SELECT * FROM TABLENAME WHERE ID = 变量 OR 1=1;
就会使WHERE后面的表达式度变成一句可有可无的表达式,与
SELECT * FROM TABLENAME相等
然后就可以知通过这种句式来取得当前数据表道中所有的用户信息。

XSS攻击

XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页
,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,
但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。
攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。 [1]

step1:将一张图片放在/var/www/html目录下,在用户名输入框输入,密码随意

step2:图片被读取

实验感想

 触了web开发,才知道原来自己一直在接触使用web相关的程序,像在学校使用的教务管理系统还有经常用上的淘宝网,都是通过web进行开发的程序,web应用程序开发有许多常用语言  web应用程序开发常用语言有jsp、asp、php、asp.net等,自己在网上对这些语言进行的一些了解,这些语言各有各的优势和缺点,课上教导的编程语言主要是PHP。之前刘念老师也教导过web编程这次是一个很好的复习巩固。

猜你喜欢

转载自www.cnblogs.com/waaaaa/p/12912907.html