20145327 《网络对抗技术》 Web基础

apache

输入apachectl start开启Apach

输入netstat -aptn查看端口占用:apach2占用端口80

测试apache是否正常工作:在kali浏览器上输入localhost:80

简单的网页编写

进入Apache工作目录cd /var/www/html,新建一个5327.html文件

编写一个简单的含框架的登录界面html



恩 非常漂亮(有些尴尬,这个代码是我当时javaweb课程的代码..)有些慌张 决定还是改变一下吧



简洁漂亮

输入然后点击submit按钮数据会传送到 "html_form_action.php" 的页面,出现的是404

javascript

function nameText(){
var name= document.getElementByIdx_x ("username");
var divID= document.getElementByIdx_x ("divName");
divID.innerHTML="";
if(name.value==""){
divID.innerHTML="用户名不能为空";
return false;
}
}
function passText(){
var pass= document.getElementByIdx_x ("password");
var divIP= document.getElementByIdx_x ("divPass");
divIP.innerHTML="";
if(pass.value==""){
divIP.innerHTML="密码不能为空";
return false;
}
}
}
</script>

PHP测试

新建一个PHP测试文件vi test.php

用浏览器打开localhost:80/test.pgp

MySQL基础

开启sql服务/etc/init.d/mysql start

输入mysql -u root –p,并根据提示输入密码,默认密码为p@ssw0rd,进入MySQL

输入show databases;,可以查看基本信息

在Mysql中建库建表

CREATE SCHEMA 5327;

CREATE TABLE 5327.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 5327

insert into users(userid,username,password,enabled) values(1,'5327',password("5327"),"TRUE");

php+mysql实现登录网页编写

在/var/www/html文件夹下输入vim login.html,编写登录网页

在同样的目录下输入vim login.php,通过php实现对数据库的连接



登录成功



不成功登录

SQL注入

构造SQL语句:在用户名输入框中输入' or 1=1#,密码随便输入,这时候的合成后的SQL查询语句为select * from users where username='' or 1=1#' and password=md5('')

以下的两句sql语句等价:

select * from users where username='' or 1=1#' and password=md5('')

select * from users where username='' or 1=1

因为1=1永远是都是成立的,即where子句总是为真,所以能够成功登录



或者在用户名框中输入';insert into users(userid,username,password,enabled) values(444,'5327',password("5327"),"TRUE");#,在数据库中可以直接插入一个伪造的用户名,密码,下次就可以用伪造的用户名密码登录网站了。

XSS攻击

<img src="5327.jpg" />5327</a>

实验问题回答

  • 1.什么是表单

表单:可以收集用户的信息和反馈意见,是网站管理者与浏览者之间沟通的桥梁。 表单包括两个部分:一部分是HTML源代码用于描述表单(例如,域,标签和用户在页面上看见的按钮),另一部分是脚本或应用程序用于处理提交的信息(如CGI脚本)。不使用处理脚本就不能搜集表单数据。

表单通常是交由CGI(公共网关接口)脚本处理。CGI是一种在服务器和处理脚本之间传送信息的标准化方式。CGI脚本比较典型的是使用Perl语言编写,当然也有其他语言如C++,Java,VBScript或JavaScript。在创建交互表单之前,接洽您的ISP或服务器管理员以确认CGI脚本可以在您的服务器上运行。

表单由文本域、复选框、单选框、菜单、文件地址域、按钮等表单对象组成,所有的部分都包含在一个由标识符标志起来的表单结构中。

表单的种类有注册表、留言薄、站点导航条、搜索引擎等。

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

    html,css,javascript

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

    jsp、python、nodejs、php、ruby

实验总结与体会

上学期学了刘念老师的JAVAWEB,还是挺喜欢的,最后的实验编个网页虽然编的很LOW,还以为能直接应用过来,php没学过,这次实验做得好心痛疼。

20145327 《网络对抗技术》 Web基础的更多相关文章

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

    20145326蔡馨熤<网络对抗>—— Web基础 1.实验后回答问题 (1)什么是表单. 表单是一个包含表单元素的区域,表单元素是允许用户在表单中输入信息的元素,表单在网页中主要负责数据 ...

  2. 20155305《网络对抗》Web基础

    20155305<网络对抗>Web基础 实验过程 Web前端:HTML 使用netstat -aptn查看80端口是否被占用(上次实验设置为Apache使用80端口),如果被占用了就kil ...

  3. 20155307实验八 《网络对抗》 Web基础

    20155307实验八 <网络对抗> Web基础 实验过程 Web前端:HTML 使用netstat -aptn查看80端口是否被占用(上次实验设置为Apache使用80端口),如果被占用 ...

  4. 20155311《网络对抗》Web基础

    20155311<网络对抗>Web基础 实验过程 Web前端:HTML 使用netstat -aptn查看80端口是否被占用(上次实验设置为Apache使用80端口),如果被占用了就kil ...

  5. 20145216史婧瑶《网络对抗》Web基础

    20145216史婧瑶<网络对抗>Web基础 实验问题回答 (1)什么是表单 表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签.表单域.表单按钮. (2)浏览器可以 ...

  6. 20145227鄢曼君《网络对抗》Web基础

    20145227鄢曼君<网络对抗>Web基础 实验内容 (1)Web前端HTML (2)Web前端javascipt (3)Web后端:MySQL基础:正常安装.启动MySQL,建库.创建 ...

  7. 20145312袁心《网络对抗》Web基础实践

    20145312袁心<网络对抗>Web基础实践 问题回答 1.什么是表单: 表单在网页中主要负责数据采集功能. 一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程 ...

  8. 20145321 《网络对抗》 Web基础

    20145321 <网络对抗> Web基础 基础问题回答 (1)什么是表单 表单在网页中主要负责数据采集功能,一个表单有三个基本组成部分:表单标签——这里面包含了处理表单数据所用CGI程序 ...

  9. 20145330 《网络对抗》 Web基础

    20145330 <网络对抗> Web基础 1.实践内容 (1)Web前端HTML (2)Web前端javascipt (3)Web后端:MySQL基础:正常安装.启动MySQL,建库.创 ...

  10. 20144303石宇森 《网络对抗》 WEB基础实践

    20144303石宇森 <网络对抗> WEB基础实践 实验后回答问题 一.什么是表单 表单是一个包含表单元素的区域.用form来定义. HTML是静态显示网页的,无法跟服务器进行交互,所以 ...

随机推荐

  1. Kettle 4.2源码分析第一讲--Kettle 简介

    Pentaho Data Integration(PDI)简介 1. PDI结构简介 图 1‑1 PDI核心组件 Spoon是构建ETL Jobs和Transformations的工具.Spoon可以 ...

  2. 代码参数里的 payload 是什么意思???

    代码参数里的 payload 是什么意思???

  3. logback多环境配置

    现在项目基本都是要区分测试开发等等一系列环境的,也因此maven,spring之类的都具有profile这类功能,可以针对不同的环境采用不同的配置.因此日志也可能根据不同的环境需要不同的配置.恰巧手头 ...

  4. Python开发【模块】:Requests(二)

    Requests模块常见的4中post请求 HTTP 协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须使用什么编码方式.常见的四种编码方式如下: 1 ...

  5. KVM VCPU线程调度问题的讨论

    2017-11-15 今天闲着没有突然想了想VCPU线程调度的问题,具体描述如下: 当代表VCPU的线程获得控制权后,首先会通过KVM接口进入到内核,从内核进入到非根模式,那么此时站在全局调度器的点上 ...

  6. 10 ref 和 out 之间的差别

    (1) 两者都是按地址传递的,使用后都将改变原来的数值 (2) ref传进去的參数必须在调用前初始化,out不必 (3) ref传进去的參数在函数内部能够直接使用,而out不可 (4) ref传进去的 ...

  7. 【剑指offer】跳台阶

    一.题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 二.思路: 同斐波那契数列. 三.代码:    

  8. Unity 脚本的执行顺序

    在Unity脚本中常用到的函数就是下面这些,他们的顺序也是按照箭头的方向执行的. Awake ->OnEable-> Start -> FixedUpdate-> Update ...

  9. visualSVN server安装使用

    SVN服务推荐使用visualSVN server,安装完成之后自动设置开机启动服务,具体使用如下图:

  10. Understanding Convolutional Neural Networks for NLP

    When we hear about Convolutional Neural Network (CNNs), we typically think of Computer Vision. CNNs ...