i春秋Web渗透测试工程师(初级)学习笔记(第三章)_draper-crypto的博客-程序员信息网

技术标签: web  渗透测试  http  https  网络协议  

往期博文:
i春秋Web渗透测试工程师(初级)学习笔记(第一章)
i春秋Web渗透测试工程师(初级)学习笔记(第二章)

3.1 HTTP的基本概念

HTTP协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。它是无状态的协议,对于事务处理没有记忆能力,支持客户/服务器模式(C/S)端。

格式:http://host[":"port][abs_path]

3.2 TCP/IP中的位置

是一个应用层协议,它在协议栈中在TCP之上的,它是处于TCP、TLS、SSL之上的(PS:若处于TLS、SSL之上则是HTTPS,HTTP和HTTPS是完全不同的,HTTP的端口是80,而HTTPS的端口则是443)下图中HTTP块涵盖了两层
在这里插入图片描述

3.3 HTTP的请求和响应

在这里插入图片描述

3.3.1 请求

引用原视频中的抓包图片:
在这里插入图片描述
报文分析:
(1)HTTP请求状态行:状态行由三部分组成,包括方法符POST,资源路径(URI),HTTP版本号

GET /newRelease/issue HTTP/1.1

(2)访问位置:

 Host:www.xxxxxx.com

(3)长度:

Content-Length:15

(4)浏览器发送的请求头,用于表示想要的资源类型:

objectivecAccept:*/*

(5)表示入口段,最初从哪个网址访问过来的就会列在后面:

Origin:http://www.xxxxxx.com

(6)客户自己的信息,包含系统版本、名称,浏览器的版本、名称,可以没有:

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X10_10_ 4) 
AppleWebkit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36

(7)接受请求的网址,并回会给你包的网址:

Referer:http://www.xxxxxx.com/main

(8)规定了服务器接受的编码格式:

Accep-E ncoding: gzip, deflate

(9)使用语言,字体大小:

Accept- Language: zh-CN,zh;q=0.8

请求方法:
GET: 请求获URI所标识的资源
POST: 在URI所标识的资源后附加新的数据
HEAD:请求获取由URI所标识的资源的响应消息报头
PUT: 请求服务器存储或修改一个资源,并用URI作为其标识
DELETE:请求服务器删除URI所标识的资源
TRACE: 请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT: 保留将来使用
OPTIONS: 请求查询服务器的性能,或者查询与资源相关的选项和需求

3.3.2 响应

引用原视频中的抓包图片:
请添加图片描述(1)HTTP响应状态行: 状态行由三部分组成,包括HTTP协议的版本,状态码,状态码的文本描述。

HTTP/1.1 200 OK

(2)时间:

Date: Sun, 17 Jan 2016 18:57:24 GMT

(3)Content-Type和前面的objectivecAccept类似,charset是编码

Content-Type: text/html ;charset=UTF-8

(4)长度:

Content- Length: 71059

(5)保持连接:

Connection: keep-alive

HTTP响应状态码 状态代码有三位数字组成:
1开头:指示信息 - 表示请求已接收,继续处理中
2开头:成功 -表示请求已被成功接收、理解、处理
3开头:重定向 - 要完成请求必须进行更进一步的操作
4开头:客户端错误 -用户请求时有语法错误或请求无法实现
5开头:服务器端错误 - 服务器未能实现合法的请求

常见状态代码如下:
200:OK - 客户端请求成功
400:客户端请求有语法错误,不能被服务器所理解
401:请求未经授权,这个状态代码必须和Authenticate报头域一起使用
403:服务器收到请求,但是拒绝提供服务 ,比如权限问题
404:Not Found - 请求资源不存在,比如输入了错误的URL
500:服务器发生不可预期的错误
503:服务器当前不能处理客户端的请求,一段时间后,可能恢复正常

3.4 HTTP的报头

HTTP报头分为4类:
普通报头、请求报头、响应报头、实体报头

3.5 抓包工具

chrome、firefox、wireshark、科来

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Suprman88/article/details/120617716

智能推荐

【GPLT】L1-045 宇宙无敌大招呼_喜欢ctrl的cxk的博客-程序员信息网

题目描述:据说所有程序员学习的第一个程序都是在屏幕上输出一句“Hello World”,跟这个世界打个招呼。作为天梯赛中的程序员,你写的程序得高级一点,要能跟任意指定的星球打招呼。输入格式:输入在第一行给出一个星球的名字S,是一个由不超过7个英文字母组成的单词,以回车结束。输出格式:在一行中输出Hello S,跟输入的S星球打个招呼。输入样例:Mars输出样例:...

Java程序设计基础第五版第十二章习题答案_在下南小伯的博客-程序员信息网

import java.util.*;public class Java_Chap_12_5{  public static void main(String [] args)    {      List<Integer> stack=new LinkedList<Integer>();      int []a=new int[10];        //给数组a赋值 ...

致远(用友)OA或M1 漏洞复现_保持 平常心的博客-程序员信息网_致远oa漏洞

致远OA通过发送特殊请求获取session,在通过文件上传接口上传特殊构造的恶意压缩包,并通过解压为webshell控制服务器。

LWIP学习笔记6——使用 NETCONN 接口编程_Aladdin_KK的博客-程序员信息网_lwip netconn

使用 NETCONN 接口编程NETCONN API 使用了操作系统的 IPC 机制, 对网络连接进行了抽象,用户可以像操作文件一样操作网络连接(打开/关闭、读/写数据)。 但是 NETCONN API 并不如操作文件的 API 那样简单易用。举个例子,调用 f_read 函数读文件时,读到的数据会被放在一个用户指定的数组中,用户操作起来很方便,而 NETCONN API 的读数据 API,就没...

Python爬虫进阶--Scrapy框架原理及分布式爬虫构建_宇航18611465354的博客-程序员信息网

1 Scrapy简介1.1 概念Scrapy是由Python语言开发的一个快速、高层次的屏幕抓取和web信息抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试, Scrapy还使用了Twisted异步网络库来处理网络通讯。Scrapy最便捷的地方在于,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。通过scrapy框

随便推点

Flv.js讲解_Cultivate_love的博客-程序员信息网_flv.js

Flv讲解Flv.js文章目录Flv讲解常见的几种直播协议一、Flv.js是什么?二、Flv.js的优势1.由于浏览器对原生Video标签采用了硬件加速,性能很好,支持高清2.同时支持录播和直播3.去掉对Flash的依赖三、Flv.js的缺点?四、Flv的限制vue中的应用常见的几种直播协议HTTP-FLV: 基于HTTP流式IO传输FLV,依赖浏览器支持播放FLV。WebSocket-FLV: 基于WebSocket传输FLV,依赖浏览器支持播放FLV。WebSocket建立在HTTP之

【图像识别】基于模板匹配交通标志识别matlab代码_Matlab科研工作室的博客-程序员信息网_matlab交通标志识别代码

1 简介交通标志的检测与识别是智能车无人驾驶的重要组成部分,它也是解决交通安全问题的一种有效方法。在现实中由于分辨率,气象条件,照明强度和运动模糊等干扰,交通标志的图像质量通常很差,很难被检测,所以如何排除以上干扰,提高交通标志的检测和识别准确率是当前这一领域亟待解决的问题。交通标志的检测与识别问题主要包括两个部分:如何在获取的图像中准确找到交通标志,如何对提取的交通标志图片实现准确识别或分类。本文采用不变矩特征模板匹配算法实现交通标志识别。2 部分代码functionvarargout.

Java节点遍历算法——图——深度优先算法(递归实现)_qq_41770939的博客-程序员信息网_深度优先遍历java递归

一.简介深度优先搜索算法(Depth-First-Search),是搜索算法的一种。是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所有边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。属于盲目搜索。 深...

3.2 CSS样式(2) 文本_谁还不是个小屁孩的博客-程序员信息网

1.单位与颜色单位在没有设置字体样式时,字体大小等的继承关系如下:颜色2. text字符间距的应用行高应用对齐方式装饰线如淘宝价格变动使用,去掉超链接下划线(超链接a标签默认是有下划线的)-- text-decoration:none;3. font字体简化使用4.小结...

◄ Unity 『功能总结』►——在Inspector面板显示镶嵌式List<List<Var>>/数组_臭臭~的博客-程序员信息网

如下图:多个数组嵌套模式是不会显示在Inspector上面的,通过【Serializable】显示这里面用List或者数组都可,看怎么写代码舒服怎么用[Header("题目和选项")] public List<QuestionINFO> QuestionInfo; [Serializable] public class QuestionINFO { [Header("题目")] public string Question

VMware -- 安装linux镜像_小白的码BUG之路的博客-程序员信息网_vmwarelinux镜像

前提:VMware新建好对应虚拟机可参考:VMware -- 安装Centos7 虚拟机_DGH2430284817的博客-程序员信息网安装linux系统:选择镜像启动虚拟机安装系统

推荐文章

热门文章

相关标签