web week one
任务
1.安装phpstudy,python,JAVA(jdk8)并配置好相关的环境,安装常用工具burpsuit,kali等;
2.学习HTTP协议(请求与响应),学习利用burpsuite 实现简单的抓包改包;
3.掌握PHP的基本语法、数据类型、变量常量
4.学习markdown语法
一、环境配置
1、phpstudy
2、JAVA(jdk8)
3、burpsuit
(真的是安装个软件,配置个环境就已经崩溃)
二、bp简单抓包、改包
1、抓包
2、改包
HTTP协议(请求与响应)
学习传送门:
- link1
- link2
学习总结
一、概述
HTTP协议好像从中学就已经有过很浅层次的接触,不过该还的都还给老师了,但总还是知道他是超文本传输协议由HTTP请求和HTTP响应两部分组成,想来也简单(盗个图形象一些)
(一)HTTP请求
请求呢,顾名思义,就是客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。那么接下来,肯定是要介绍一下这四部分。
1.请求行
请求方式:GET或POST
协议版本:
HTTP/1.1:发送请求,创建一次连接,获得多个web资源,保持连接。
HTTP/1.0:发送请求,创建一次连接,获得一个web资源,连接断开。
2、请求头
(来自火狐浏览器,‘百度一下你就知道’)
**3、请求体 **
如有POST请求 那么数据体 在Form Data里。
如果请求方式为get,那么请求参数不会出现在请求体中,会拼接在url地址后面。(所以我找了半天usename,并没有在GET的请求体中看到,是真尴尬)
(二)HTTP响应
1、响应行
HTTP协议(见上)
状态码:常用的状态码如下:
- 200 :请求成功。
- 302 :请求重定向。
- 304 :请求资源没有改变,访问本地缓存。
- 404 :请求资源不存在。通常是用户路径编写错误,也可能是服务器资源已删除。
- 500 :服务器内部错误。通常程序抛异常。
状态信息:根据状态码来定
2、响应头
(响应行在第一行)(来自火狐浏览器,百度一下你就知道)
3、响应体
服务器回写给客户端的页面正文,浏览器将正文加载到内存,然后解析渲染,显示页面内容。就像你搜索东西,然后页面给你的文字或者图片,当然是以代码的形式。
PHP的基本语法、数据类型、变量常量
学习传送门:
- link1
- link2
- link3
PHP基本语法
- PHP 脚本以 <?php 开始,以 ?> 结束。PHP 中的每个代码行都必须以分号结束。
- PHP有两种在浏览器输出文本的基础指令:echo 和 print。
- echo :可以输出一个或多个字符串
- print : 只允许输出一个字符串,返回值总为 1
一、数据类型
- 标量数据类型
- 符合数据类型
- 特殊数据类型
标量数据 | 符合数据 | 特殊数据 |
---|---|---|
boolean(布尔型) | array(数组) | resource(资源) |
integer(整型) | object(对象) | null(空值) |
float(浮点型) | ||
string(字符串型) |
1、boolean(布尔型)
主要是用于逻辑判断,当然,布尔值就分为true值或者false值,只要将true值或者false值赋给布尔型的判断就OK了。
2、integer(整型)
整型数据类型只能包含整数,可以十进制、八进制、十六进制呀这些数指定。在32位的操作系统中,有效数值范围是-2147483648~+2147483647.
(就像C语言中的 int A=1 ?)
3、float(浮点型)
浮点数据类型既可以用来存储整数,也可以存储整数,也可以存储小数。
4、string(字符串型)
字符串是由连续的字母、数字或字符组成的字符序列。
字符串中的每个字符只占用一个字节。一种有三种定义字符串的方式,单引号,双引号,和定界符(<<<)
5、array(数组)
使用array可以定义数组。
定义数据的语法格式:
$array = (‘value1’,'value2'...) $array['key'] = 'value'
二、变量常量
1、变量
变量以 $ 符号开始,后面跟着变量的名称。PHP 没有声明变量的命令。变量在您第一次赋值给它的时候被创建。
PHP 是一门弱类型语言,PHP 会根据变量的值,自动把变量转换为正确的数据类型。在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。
(这不就是说使用时更加方便,PHP这么强大?)
- 全局作用域(global)
在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。
在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字 - 局部作用域(local)
在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问 - Static 作用域
当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除,可以使用 static关键字 - 参数作用域(parameter)
参数是通过调用代码将值传递给函数的局部变量。
参数是在参数列表中声明的,作为函数声明的一部分
<?php
$x=5;//全局变量
$y=10; //全局变量
function myTest()
{
$a=6;//局部变量
global $x,$y; //函数中使用global关键字访问全局变量
$y=$x+$y;
echo $aa; // 输出 6
}
myTest();
echo $y; // 输出 15
?>
2、常量
常量是一个简单值的标识符。该值在脚本中不能改变。 (常量名不需要加 $ 修饰符)。
注意: 常量在整个脚本中都可以使用。
设置常量,使用 define() 函数,函数语法如下:
1| define(string constant_name, mixed value, case_sensitive = true);
- constant_name:必选参数,常量名称,即标志符。
- value:必选参数,常量的值。
- case_sensitive:可选参数,指定是否大小写敏感,设定为 true 表示不敏感。