HTTP协议及burp基本使用

web应用协议——HTTP

HTTP( 超文本传输协议)

  • 一种通信协议, 1990 年提出, 当前版本为HTTP/1.1
  • 使用超文本标记语言(HTML) 将资源从服务器传送到客户端

超文本传输协议特点

  • 请求、响应模式
  • 简单快速: 客户向服务器请求服务时, 只需传输请求方法和路径
  • 灵活: HTTP 允许传输任意类型的数据对象。正在传输的类型由Content-Type 加以标记
  • 无连接: 一个请求一个连接, 完成后断开
  • 无状态: 协议对于事务处理没有记忆能力, 在服务器不需要先前信息时应答较快

HTTP协议结构

  • HTTP的一个会话, 由Request 和response 组成
  • HTTP 请求(Requests) 包含三个部分

请求行: 方法, URL, 协议/ 版本(Method-URl-Protocol/Version)
消息报头(Request headers)
请求正文( Entity body)

  • HTTP 响应(Responses) 也包含三个部分

状态行: 协议状态代码描叙(ProtocoI-Status code-Description)
消息报头(Response headers)
响应正文( Entity body) 服务器返回的资源的内容

1 HTTP请求方法  POST /servIet/defauIt.JSP HTTP/1.1

HTTP请求方法规定了客户与服务器联系的类型不同
HTTP1.1 支持7 种请求方法:GET, POST, HEAD, OPTiONS, PUT, DELETE, 和TRACE

  • 两种最常用的方法: GET 和POST

GET: 把所有请求的数据都放在URL 当中, 从URL 中可以直接看到, 但最大传输的信息量是2 KB
POST: 把请求的数据放在请求的数据体中, 在URI中不可见, 长度不受限, 常用于提交表单

URI(相对路径)
- /servIet/defauIt.JSP 表示一个URI,URI 指明了一个INTERNET 资源。一个URI通常是相对于服务器的根目录被解释的, 使用符号( / ) 开头。
URL(绝对路径)
- HTTP URL ( URL 是一种特殊类型的URI, 包含了用于查找某个资源的足够的信息)的格式如下:
- http://host[":"port][abs_path]

1.1 HTTP请求头域

请求头域(request header) 包含了一些有用的客户机环境的信息和请求的实体(entity body) 信息。比如, 它可以包含浏览器使用的语言和实体的长度等等。每个请求包头都被CRLF( 回车换行) 序列所分离。

一般包含的都是客户机的信息,服务器根据收到的客户机信息返回相应内容。

1.2 HTTP请求实体

请求实体, 在一个典型的HTTP请求中, 这个实体可以变得更长。
Get 方法去请求实体, 在url 中可见, 最大长度2KB
post 方法请求实体, 长度不限, URL 中不可见, 需要借助协议分折软件(burpsuite)

2 HTTP响应

HTTP 响应状态行

  • 状态行: HTTP-Version Status-Code Reason-Phrase

- HTTP 一Version 表示服务器HTTP 协议的版本;
- Status 一Code 表示服务器发回的响应状态代码
- Reason 一Phrase 表示状态代码的文本描述。

  • 状态代码有三位数字组成, 第一个数字定义了响应的类别, 且有五种可能取值:

1 × × : 指示信息表示请求已接收, 继续处理
2 × × : 成功一表示请求已被,成功接收、理解、接受
3 x x  :   重定向一要完成请求必须进行更进一步的操作
4 × × : 客户端错误一请求有语法错误或请求无法实现
5 × × : 服务器端错误一服务器未能实现合法的请求

http 响应消息报头

  • 响应消息报头允许服务器传递不能放在状态行的附加信息, 这些域主要描述服务器的信息和Request-URI进一步的信息。响应头域包含Age 、Location 、Proxy-Authenticate 、PubIic 、Retry-After 、Server 、Vary 、Warning 、WWW-

Authenticate

3 Burp Suite抓包实验

目标靶机:win2003 server、IIS

客户端:火狐浏览器,通过安装火狐插件可快速切换代理,方便burp抓包

插件设置如下:

burp中 options可以看到设置代理的IP和端口。下图所示:

proxy(代理):主要功能——代理、抓包、干扰、拦截、放行

intercept is on 为拦截状态  其对应的intercept is off 为非拦截状态,设置完代理后打开拦截状态,浏览器发起的请求会被burpsuite所拦截。

forward: 进行请求后被拦截,点击forward可以继续此次请求,如果你点击drop则丢弃此请求数据。继续请求后能够看到返回结果。

可以在消息分析选项卡查看这次请求的所有内容

  1. Raw 这个视图主要显示web请求的raw格式,包含请求地址, http协议版本, 主机头, 浏览器信息,accept可接受的内容类型,字符集,编码方式,cookies等,  可以手动修改这些内容,然后在点击forward进行渗透测试
  2. params 这个视图主要是显示客户端请求的参数信息,get或者post的参数,cookies参数,也可以修改
  3. headers是头部信息和Raw其实差不多,展示更直观
  4. Hex 这个试图显示Raw的二进制内容

Burp Proxy的拦截功能

主要由Intercept(拦截)选项卡中的Forward、Drop、Interception is on/off、Action、Comment 以及Highlight构成,它们的功能分别是:

  • Forward的功能是当你查看过消息或者重新编辑过消息之后,点击此按钮,将发送消息至服务器端。
  • Drop的功能是你想丢失当前拦截的消息,不再forward到服务器端。
  • Interception is on表示拦截功能打开,拦截所有通过Burp Proxy的请求数据;Interception is off表示拦截功能关闭,不再拦截通过Burp Proxy的所有请求数据。
  • Action的功能是除了将当前请求的消息传递到Spider、Scanner、Repeater、Intruder、Sequencer、Decoder、Comparer组件外,还可以做一些请求消息的修改,如改变GET或者POST请求方式、改变请求body的编码,同时也可以改变请求消息的拦截设置,如不再拦截此主机的消息、不再拦截此IP地址的消息、不再拦截此种文件类型的消息、不再拦截此目录的消息,也可以指定针对此消息拦截它的服务器端返回消息。

burp suite使用教程参考:https://blog.csdn.net/weixin_38079422/article/details/80729158

4 抓包结果

我们可以看到HTTP请求为get方法,host,客户端,cookie等信息。HTTP Header中Accept-Encoding 是浏览器发给服务器,声明浏览器支持的编码类型

HTTP响应状态码200,服务器版本信息、响应的HTTP内容类型、内容长度

原文地址:https://www.cnblogs.com/52kj/p/12397301.html

时间: 2024-10-11 14:19:12

HTTP协议及burp基本使用的相关文章

安卓脱壳&&协议分析&&burp辅助分析插件编写

前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 本文以一个 app 为例,演示对 app脱壳,然后分析其 协议加密和签名方法,然后编写 burp 脚本以方便后面的测试. 文中涉及的文件,脱壳后的 dex 都在: 链接: https://pan.baidu.com/s/1nvmUdq5 密码: isrr 对于 burp 扩展和后面加解密登录数据包工具的的源码,直接用 jd-gui 反编译 jar 包即可. 正文

<转>Burp Suite使用介绍(一) (二) (三)

Getting Started Burp Suite 是用于攻击web 应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程.所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架.本文主要介绍它的以下特点: 1.Target(目标)——显示目标目录结构的的一个功能 2.Proxy(代理)——拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数

Burp Suite使用介绍

Getting Started Burp Suite 是用于攻击web 应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程.所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架.本文主要介绍它的以下特点: 1.Target(目标)--显示目标目录结构的的一个功能 2.Proxy(代理)--拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数

Burp Suite使用介绍(一)

小乐天 · 2014/05/01 19:54 Getting Started Burp Suite 是用于攻击web 应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程.所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架.本文主要介绍它的以下特点: 1.Target(目标)--显示目标目录结构的的一个功能 2.Proxy(代理)--拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间

安卓APP测试之使用Burp Suite实现HTTPS抓包方法

APP的测试重点小部分在APP本身,大部分还是在网络通信上(单机版除外).所以在安卓APP测试过程中,网络抓包非常重要,一般来说,app开发会采用HTTP协议.Websocket.socket协议,一般来说,HTTP协议最多,Websocket是后起之秀,socket最少,而针对HTTP和websocket,Burp Suite工具是最适合不过的工具了.但是在遇到了app使用SSL或TLS加密传输(https)的时候,由于证书不被信任,直接导致网络通信终端,抓包失败.本文介绍如何使用Burp s

结合YS业务分析使用oauth协议的风险

结合YS业务分析oauth协议风险 问题描述:          YS 使用QQ互联的openAPI实现QQ登录YS的功能,使用该功能需要在腾讯注册登录时的回调地址,根据oauth协议,用户的code或者access_token将被发送到这个回调地址,而目前出于域名变动等各种因素考虑,目前使用的是通配符域名进行注册,这可能存在用户的access_token被盗取的风险.一旦获取用户QQ的access_token就可以通过openAPI获取此QQ的相关信息.关于oauth协议和开发细节请参考: h

Burpsuite之Burp Collaborator模块介绍

Burp Collaborator.是从Burp suite v1.6.15版本添加的新功能,它几乎是一种全新的渗透测试方法.Burp Collaborator.会渐渐支持blind XSS,SSRF, asynchronous code injection等其他还未分类的漏洞类型. 本文主要介绍使用Burp Collaborator.对这几种类型漏洞进行探测. 概念:In-band attack与 out-band attack(带内与带外攻击) 首先介绍两个概念,带内与带外的区别核心在于是否

Burp Suite 如何抓取HTTPS请求

1,下载安装burp suite工具 https://portswigger.net/burp/communitydownload 如果是windows系统,选择windows点击Download下载:如果是iOS系统,点击"Other Platforms "会展开显示,有iOS系统 2,安装,一键安装 3,配置代理 打开Burp Suite,页面如下显示,点击Proxy,然后选择Options进行设置代理   4,下载证书 普通的http请求不需要证书,HTTPS请求需要安装证书,如

Burp Suite之Intruder模块(四)

Burp Suite之Intruder模块(三) Intruder介绍: Burp intruder是一个强大的工具,用于自动对Web应用程序自定义的攻击.它可以用来自动执行所有类型的任务您的测试过程中可能出现的. Scaner模块配置详解 Target 用于配置目标服务器进行攻击的详细信息.所需的选项有: Host(主机) - 这是目标服务器的IP地址或主机名. Port(端口) - 这是HTTP / S服务的端口号. Use HTTPS(使用HTTPS),这指定的SSL是否应该被使用. 配置