『安全科普』HTTP协议讲解及手工模拟发送
学习,熟悉HTTP协议,便于以后进行HTTP重放攻击!
0x 01 HTTP协议
查看HTTP协议
先查看鼠标点击一个链接后,浏览器发出了怎样的HTTP请求。
Chrome浏览器下,按F12进入开发者模式,点击Network后,在页面中随意点击链接测试,出现下图。
上面的news.baidu.com 就是点击新闻后发出的一条信息相关内容,在图中我们大致可以看到 有请求主机,IP地址,请求方式,以及返回的状态码(200)
HTTP请求介绍
http请求由三部分组成,请求行,请求头,请求主体。
下面给出一个实例:
1 POST /login.php HTTP/1.1 // 请求行 包含请求方法,请求地址,协议版本
2 HOST: www.XXX.com // 请求头
3 // 空一行,表示请求头结束
4 username=admin & password=admin // 请求正文 Cookie相关信息
请求方法中GET把请求信息直接标注在URL上,POST多用于提交数据,提交信息在后面的是请求正文中。
常见的请求头如下:
referer: 包含一个URL,用户从该URL代表的页面出发访问当前请求的页面
user-agent: 客户端将它的操作系统,浏览器,和其他属性告诉服务器
Host: 请求主机名和端口号,默认80
Connection: 当前连接是否保持
Accept-Language: 指定接受的自然语言
Cookie: 表示请求者身份
x-forword-for: 代表请求段IP,可以有多个,中间以逗号隔开
HTTP响应介绍
HTTP相应内容如下:
状态码:
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受 (200成功)
3xx:重定向--要完成请求必须进行更进一步的操作 (302跳转)
4xx:客户端错误--请求有语法错误或请求无法实现 (404请求资源不存在)
5xx:服务器端错误--服务器未能实现合法的请求 (500 服务器内部错误)
常见HTTP响应头:
Server: WEB服务器名称 如:Server: Apache/1.3.6(Unix)
Content-Type: 正文媒体类型
Content-Length: 正文长度(字节)
Keep-Alive: 保持连接时间
Date: 格林时间
Location: 表示客户端应该到哪里去提取文档,当客户端收到后会再次发送请求
Set-Cookie: 向客户端设置Cookie信息
0x 02 手工模拟HTTP发送
没开启Telnet服务的同学手动百度一下 如何开启Telnet服务,这里不多说了
进入CMD界面开启telnet:
telnet www.baidu.com 80
显示空白黑屏界面,在键盘上同时按“Ctrl”键和“]”键,显示如下界面
欢迎使用 Microsoft Telnet Client Escape 字符为 'CTRL+]' Microsoft Telnet>
按“Enter”键 显示空白界面,输入HTTP请求(注意HOST: 后面有个空格)
GET /index.html HTTP/1.1
HOST: www.baidu.com
之后连续按两次“Enter”键,完成HTTP请求发送,显示如下信息
至此,已经成功完成HTTP发送模拟。
『安全科普』HTTP协议讲解及手工模拟发送的更多相关文章
- 『安全科普』WEB安全之渗透测试流程
熟悉渗透流程,攻击会像摆积木一样简单! 0x 01:信息收集 收集网站信息对渗透测试非常重要,收集到的信息往往会让你在渗透中获得意外惊喜. 1. 网站结构 可以使用扫描工具扫描目录,主要扫出网站管理员 ...
- 大数据分析常用去重算法分析『Bitmap 篇』
大数据分析常用去重算法分析『Bitmap 篇』 mp.weixin.qq.com 去重分析在企业日常分析中的使用频率非常高,如何在大数据场景下快速地进行去重分析一直是一大难点.在近期的 Apache ...
- 『Python进阶』专题汇总
基础知识 Python3内置函数 『Python』库安装 『流畅的Python』第1~4章_数据结构.编码 『Python』基础数据结构常见使用方法 『Python CoolBook』数据结构和算法_ ...
- 2017-2018-2 165X 『Java程序设计』课程 团队项目备选题目
2017-2018-2 165X 『Java程序设计』课程 团队项目备选题目 结合本课程时间安排,以及同学们的专业和课程内容,制定了以下六个题目供各小组选择.如有其他项目方案设想,可自行与老师沟通.老 ...
- 2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算_第三周
2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算 组队成员: 仇夏 学号: 20172310 博客地址: @王志伟 四则运算第一周博客 @仇夏四则运算第一周博客 ...
- 2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-准备阶段
2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-准备阶段 在一个人孤身奋斗了将近半个学期以后,终于迎来的我们的第一次团队协作共同编码,也就是,我们的第一个结对编程练 ...
- 『深度应用』NLP机器翻译深度学习实战课程·壹(RNN base)
深度学习用的有一年多了,最近开始NLP自然处理方面的研发.刚好趁着这个机会写一系列NLP机器翻译深度学习实战课程. 本系列课程将从原理讲解与数据处理深入到如何动手实践与应用部署,将包括以下内容:(更新 ...
- 阅读手札 | 手把手带你探索『图解 HTTP』
前言 本文已经收录到我的 Github 个人博客,欢迎大佬们光临寒舍: 我的 Github 博客 学习清单: 一.网络基础 TCP/IP 通常使用的网络(包括互联网)是在 TCP/IP 协议族的基础上 ...
- Istio 运维实战系列(2):让人头大的『无头服务』-上
本系列文章将介绍用户从 Spring Cloud,Dubbo 等传统微服务框架迁移到 Istio 服务网格时的一些经验,以及在使用 Istio 过程中可能遇到的一些常见问题的解决方法. 什么是『无头服 ...
随机推荐
- 热爱工作 发财机会大增(这里不是选择软件还是硬件的问题,是自己的性格和追求的问题)——当你的老板不如你懂行的时候,还赚的盆满钵满的时候,你就可以考虑独立了 good
爱工作 发财机会大增 [ 油老板 ] 于:2011-02-09 06:39:41 复:1269077 认真回顾发主贴以来的三年半,俺觉得对于想发财的上班族来说,认真工作,刻苦钻研是发财的重要保证. 为 ...
- COJ 0358 xjr考考你数据结构(根号3)线段树区间修改
xjr考考你数据结构(根号3) 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 请你编写一个数据结构,完成以下功能: 1)求出第 ...
- 【转】使用dos2unix批量转换文件
原文网址:http://kuaile.in/archives/1208 dos2unix是Linux下的一个用户转换格式的程序,由于windows上文件的结束符和linux上的不同,那么在window ...
- android实现类似于支付宝余额快速闪动的效果
效果如下: 此图片不会动,但实际上是会快速跳动的. 之前看到有支付宝的效果非常牛逼.就是进去看到余额呼噜噜的直接上蹿下跳到具体数字,效果帅,但不知道怎么实现,最近终于知道了. 思路: 首先经常用 ...
- cf581B Luxurious Houses
The capital of Berland has n multifloor buildings. The architect who built up the capital was very c ...
- Android中几种常用的话框
1.普通对话框: Builder alert=new AlertDialog.Builder(MainActivity.this); alert.setTitle("提示"); a ...
- js执行引擎(js解释器)
看字面理解,js执行引擎讲的就是将js代码转化为机器码并执行的过程. 一款 JavaScript 引擎是由 Brendan Eich 在网景的 Navigator 中开发的,它的名字叫做 Spider ...
- SPOJ--K-query (线段树离线) 离线操作解决一些问题
K-query Given a sequence of n numbers a1, a2, ..., an and a number of k- queries. A k-query is a tri ...
- HDU5266---pog loves szh III (线段树+LCA)
题意:N个点的有向树, Q次询问, 每次询问区间[L, R]内所有点的LCA. 大致做法:线段树每个点保存它的孩子的LCA值, 对于每一次询问只需要 在线段树查询即可. #include <bi ...
- Linux下安装GCC5.3.0(亲测有效)
对于linux小白来说,只需要先知道怎么安装,至于为什么等学了linux再说吧..知识不系统的坏处啊! 首先,一般ubuntu上都预装了低级版本的Gcc,完全可以应付刷OJ时的C+Class+STL的 ...