学习,熟悉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协议讲解及手工模拟发送的更多相关文章

  1. 『安全科普』WEB安全之渗透测试流程

    熟悉渗透流程,攻击会像摆积木一样简单! 0x 01:信息收集 收集网站信息对渗透测试非常重要,收集到的信息往往会让你在渗透中获得意外惊喜. 1. 网站结构 可以使用扫描工具扫描目录,主要扫出网站管理员 ...

  2. 大数据分析常用去重算法分析『Bitmap 篇』

    大数据分析常用去重算法分析『Bitmap 篇』  mp.weixin.qq.com 去重分析在企业日常分析中的使用频率非常高,如何在大数据场景下快速地进行去重分析一直是一大难点.在近期的 Apache ...

  3. 『Python进阶』专题汇总

    基础知识 Python3内置函数 『Python』库安装 『流畅的Python』第1~4章_数据结构.编码 『Python』基础数据结构常见使用方法 『Python CoolBook』数据结构和算法_ ...

  4. 2017-2018-2 165X 『Java程序设计』课程 团队项目备选题目

    2017-2018-2 165X 『Java程序设计』课程 团队项目备选题目 结合本课程时间安排,以及同学们的专业和课程内容,制定了以下六个题目供各小组选择.如有其他项目方案设想,可自行与老师沟通.老 ...

  5. 2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算_第三周

    2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算 组队成员: 仇夏 学号: 20172310 博客地址: @王志伟 四则运算第一周博客 @仇夏四则运算第一周博客 ...

  6. 2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-准备阶段

    2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-准备阶段 在一个人孤身奋斗了将近半个学期以后,终于迎来的我们的第一次团队协作共同编码,也就是,我们的第一个结对编程练 ...

  7. 『深度应用』NLP机器翻译深度学习实战课程·壹(RNN base)

    深度学习用的有一年多了,最近开始NLP自然处理方面的研发.刚好趁着这个机会写一系列NLP机器翻译深度学习实战课程. 本系列课程将从原理讲解与数据处理深入到如何动手实践与应用部署,将包括以下内容:(更新 ...

  8. 阅读手札 | 手把手带你探索『图解 HTTP』

    前言 本文已经收录到我的 Github 个人博客,欢迎大佬们光临寒舍: 我的 Github 博客 学习清单: 一.网络基础 TCP/IP 通常使用的网络(包括互联网)是在 TCP/IP 协议族的基础上 ...

  9. Istio 运维实战系列(2):让人头大的『无头服务』-上

    本系列文章将介绍用户从 Spring Cloud,Dubbo 等传统微服务框架迁移到 Istio 服务网格时的一些经验,以及在使用 Istio 过程中可能遇到的一些常见问题的解决方法. 什么是『无头服 ...

随机推荐

  1. chrome 打不开网页

    右键单击Chrome在桌面的快捷方式,在在但中选择“属性”,在对话框的“目标”项目中追加:-no-sandbox     大家比较熟悉的解决方法有配置 Hosts 文件和使用FQ软件两种,配置 Hos ...

  2. USB状态错误原因

    USBD_STATUS调试过USB的同学肯定见过BUS Hound里面给的各种错误提示,但是大家是否知道是什么意思呢? USBD_STATUS 出错原因,详解如下:   The USBD_STATUS ...

  3. 模糊系统架构和简单实现--AForge.NET框架的使用(四)

    原文:模糊系统架构和简单实现--AForge.NET框架的使用(四) 先说一下,为什么题目是简单实现,因为我实在没有弄出好的例子. 我原来用AForge.net做的项目中的模糊系统融入了神经网络和向量 ...

  4. python手记(38)

    runfile(r'K:\testpro\testopencv.py', wdir=r'K:\testpro') http://blog.csdn.net/myhaspl myhaspl@qq.com ...

  5. POJ 2135 Farm Tour

    题目大意:有一个无向图..农夫从1号点出发..要到达N号点..然后回到1号点..来回不能走相同的路径..问最短的距离是多少. 题解:又是不能走重复路径!基本图论算法直接扔掉上网络流.不能相同就边限1, ...

  6. 2014-08-05 再次接触VBA

    今天是在吾索实习的第20天.本来今天的计划是完成BBS的界面的设计的,但是中途发生了一些小插曲,经理要求我帮忙用VBA实现EXCEL中表与表之间的动态联编,而且答应了客户明天就要看到成品了.所以只好放 ...

  7. Linux+eclipse+gdb调试postgresql源码

    pg内核源码解析课上用的vs调试pg源码, VS用起来确实方便,但是配置调试环境着实有点麻烦.首先得装个windows系统,最好是xp,win7稍微麻烦点:最好使用vs05,08和10也可以,但是比0 ...

  8. JS中的Math.ceil和Math.floor函数的用法

    Math.ceil(x) -- 返回大于等于数字参数的最小整数(取整函数),对数字进行上舍入 Math.floor(x)--返回小于等于数字参数的最大整数,对数字进行下舍入 例如: document. ...

  9. eclipse中svn插件的安装与使用

    eclipse中svn插件的安装与使用 一.    eclipse中svn插件的安装 eclipse里安装SVN插件,一般来说,有两种方式: 直接下载SVN插件,将其解压到eclipse的对应目录里 ...

  10. Dubbo亮点总结

    Dubbo是阿里巴巴的一个开源RPC项目,可在http://dubbo.io进行訪问 类似的产品有Hessian.spring httpinvoke 等. Dubbo的亮点总结例如以下: 1.服务注冊 ...