zoukankan      html  css  js  c++  java
  • 『安全科普』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发送模拟。

     

      

          

     

       Please see it:

        无特殊说明,文章版权说明归Anka9080所有

        尊重作者,转载请以明文链接标注原文地址

        互联网安全博客地址 www.cnblogs.com/anka9080

  • 相关阅读:
    c++ ShellExecuteEx调用java打包的exe程序
    麻省理工学院公开课-第四讲:快速排序 及 随机化 算法
    Win10的IIS与以前版本的一个区别
    干就行了!!!写程序就像珊瑚,分支太多,哪有那么多复用!
    NPoco的使用方法
    为什么前端要写标准代码?
    对于委托、事件、观察者模式最一目了然的代码段
    delphi处理消息的几种方式
    哎呀妈呀,吓死我了,幸好服务器没崩溃。
    Delphi的Hint介绍以及用其重写气泡提示以达到好看的效果
  • 原文地址:https://www.cnblogs.com/anka9080/p/http.html
Copyright © 2011-2022 走看看