网络基础知识与Burp简介(一)

网络安全与抓包技术

网络基础知识与Burp

OSI七层模型和TCP/IP四层模型

在正式讲解抓包技术之前,先普及一下网络协议之间的关系。这是网络通信领域的基础和参考,对网络协议的设计和实现起到了重要的指导作用。

OSI七层模型与TCP/IP四层模型
OSI七层模型TCP/IP四层模型
应用层(Application Layer)应用层(Application Layer)
表示层(Presentation Layer)-
会话层(Session Layer)-
传输层(Transport Layer)传输层(Transport Layer)
网络层(Network Layer)网络层(Network Layer)
数据链路层(Data Link Layer)网络接口层(Network Interface Layer)
物理层(Physical Layer)-

但是在实际工业界中,TCP/IP协议族更加广泛地被使用和实现,因为它是互联网的核心协议,几乎所有的互联网通信都基于TCP/IP协议。因此,TCP/IP协议族更加贴合实际应用和实际需求。

HTTP与HTTPS

HTTP和HTTPS都是位于TCP/IP模型应用层的协议。HTTP用于传输超文本,而HTTPS是在HTTP基础上添加了安全性的协议,通过SSL/TLS协议对通信进行加密和认证,保护数据的安全性和完整性。

HTTP/HTTPS在TCP/IP的层次
  • HTTP协议位于TCP/IP模型的应用层,定义了客户端和服务器之间的通信规则和数据格式。
  • HTTPS协议也位于TCP/IP模型的应用层,是HTTP协议的安全版本,通过SSL/TLS协议对通信进行加密和认证。
HTTP与HTTPS的关系
  • HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的协议,基于客户端-服务器模型。
  • HTTPS(HTTP Secure)是在HTTP协议基础上添加了安全性的协议。它使用SSL/TLS协议对通信进行加密和认证,确保数据的安全性和完整性。

HTTP和HTTPS之间的主要区别在于安全性。HTTP是明文传输的,数据在传输过程中容易被窃听和篡改。而HTTPS使用SSL/TLS协议对数据进行加密和认证,确保数据的安全性和完整性。在实际应用中,使用HTTP还是HTTPS取决于具体的需求和安全性要求。

HTTP(S)的规范

HTTP和HTTPS都是基于TCP/IP协议的应用层协议,用于在客户端和服务器之间进行数据传输和通信。

HTTP规范
  • HTTP的规范主要由RFC 2616(HTTP/1.1规范)定义,随后更新为RFC 7230-7235。
  • 请求报文:包含请求行、请求头部和请求主体(可选)。
    • 请求行:包含请求方法、请求URL和HTTP版本。
    • 请求头部:包含与请求相关的各种信息,如Host、User-Agent、Content-Type等。
    • 请求主体(可选):包含请求发送的数据,如表单数据、JSON数据等。
  • 响应报文:包含状态行、响应头部和响应主体(可选)。
    • 状态行:包含响应状态码和状态描述。
    • 响应头部:包含与响应相关的各种信息,如Content-Type、Content-Length等。
    • 响应主体(可选):包含响应返回的数据,如HTML页面、JSON数据等。
  • 请求方法:HTTP定义了多种请求方法,如GET、POST、PUT、DELETE等,用于指定请求的操作类型。
  • 状态码:HTTP定义了一系列状态码,用于表示请求的处理结果。常见的状态码有200表示成功、404表示资源未找到、500表示服务器内部错误等。
  • 头部字段:HTTP定义了各种头部字段,用于承载请求和响应的各种元数据。
  • Cookie:HTTP通过Cookie机制来实现状态管理和会话跟踪。
  • 缓存:HTTP通过缓存机制来减少网络传输和提高性能。
HTTPS规范

HTTPS是在HTTP协议基础上添加了安全性的协议,通过SSL/TLS协议对通信进行加密和认证。HTTPS规范主要由RFC 2818(HTTP Over TLS)定义,随后更新为RFC 7230-7235。HTTPS规范与HTTP规范的大部分内容相同,但在安全性方面有所扩展和修改。

HTTP(S)协议的请求方式

HTTP定义了多种请求方法(也称为HTTP动词),用于指定请求的操作类型。以下是常见的HTTP请求方法及其简单介绍:

  • GET:用于从服务器获取资源,一般用于获取数据,不应该对服务器产生副作用。
  • POST:用于向服务器提交数据,一般用于发送数据、更新资源或进行服务器端操作。
  • PUT:用于向服务器上传新的资源或更新现有资源,用于替换服务器上指定位置的资源。
  • DELETE:用于删除服务器上指定位置的资源。
  • HEAD:类似于GET请求,但只获取响应头部信息,不返回响应体,常用于获取资源的元数据。
  • OPTIONS:用于获取服务器支持的请求方法和可用选项,用于探测服务器的功能和配置。

HTTP(S)的状态码

HTTP(S)协议定义了一系列状态码(Status Code),用于表示请求的处理结果和服务器的响应状态。状态码由三位数字组成,分为五个类别,每个类别具有不同的含义。以下是常见的HTTP(S)状态码及其含义:

  • 1xx - 信息性状态码(Informational)
    • 100 Continue:服务器已接收到请求的初始部分,并且客户端应该继续发送剩余的请求。
    • 101 Switching Protocols:服务器已理解并接受客户端的请求,将切换到不同的协议。
  • 2xx - 成功状态码(Success)
    • 200 OK:请求成功,服务器成功处理了请求。
    • 201 Created:请求成功,并在服务器上创建了新的资源。
    • 204 No Content:请求成功,但响应中不包含实体内容。
  • 3xx - 重定向状态码(Redirection)
    • 301 Moved Permanently:请求的资源已永久移动到新位置。
    • 302 Found:请求的资源临时移动到不同的位置。
    • 304 Not Modified:客户端的缓存副本是最新的,可以直接使用缓存的版本。
  • 4xx - 客户端错误状态码(Client Error)
    • 400 Bad Request:服务器无法理解客户端的请求,可能是请求语法错误或参数错误。
    • 401 Unauthorized:请求要求身份验证,客户端需要提供有效的身份凭证。
    • 404 Not Found:请求的资源不存在。
    • 418 I’m a teapot:这个状态码并不是在正式的HTTP规范中定义的,而是在1998年的一个IETF(Internet Engineering Task Force)的愚人节玩笑中提出的。该状态码的背景是基于一个叫做"Hyper Text Coffee Pot Control Protocol"(HTCPCP)的玩笑协议。这个协议描述了如何通过网络来控制一台咖啡壶。在这个玩笑中,"I’m a teapot"状态码被定义为当服务器是一台咖啡壶时返回的响应。
  • 5xx - 服务器错误状态码(Server Error)
    • 500 Internal Server Error:服务器遇到了意外的错误,无法完成请求。
    • 503 Service Unavailable:服务器当前无法处理请求,一般是由于过载或维护。

HTTP/HTTPS抓包的原理

HTTP/HTTPS抓包的原理是通过拦截网络通信流量,将请求和响应数据包进行捕获和分析。下面分别介绍HTTP抓包和HTTPS抓包的原理:

HTTP抓包的原理
  • HTTP抓包工具(如Burp、Wireshark、Fiddler、Charles等)在客户端和服务器之间作为中间人,拦截HTTP请求和响应数据包。
  • 抓包工具在客户端和服务器之间建立代理服务器或中间人代理,并配置客户端或系统的网络设置,使流量经过抓包工具。
  • 捕获请求和响应:当客户端发送HTTP请求时,抓包工具会捕获请求数据包,并将其展示给用户。同样,抓包工具也会捕获服务器返回的HTTP响应数据包。
  • 查看和分析:使用抓包工具,用户可以查看请求和响应的详细信息,包括请求头、响应头、请求体、响应体等,并进行分析和修改。
HTTPS抓包的原理

HTTPS抓包相对于HTTP抓包更加复杂,因为HTTPS使用SSL/TLS协议对通信进行加密和认证。

  • 中间人代理:HTTPS抓包工具需要在客户端和服务器之间建立中间人代理,并生成自己的SSL证书。
  • 伪装成服务器:客户端在进行HTTPS通信时,抓包工具会伪装成服务器,向客户端发送自己生成的SSL证书。
  • 证书验证:客户端收到抓包工具的证书后,会验证证书的合法性。如果证书不是由可信的证书颁发机构签发,客户端会发出警告。
  • 建立安全连接:如果用户选择信任抓包工具的证书,客户端和抓包工具之间会建立安全连接,抓包工具可以解密客户端和服务器之间的SSL流量。
  • 解密并分析:抓包工具捕获解密后的HTTPS请求和响应数据包,并对其进行展示和分析,用户可以查看解密后的数据。

抓包工具首推之Burp Suite

Burp Suite是一款功能强大的网络安全测试工具,广泛用于渗透测试、漏洞挖掘和应用程序安全评估。它由多个模块组成,提供了丰富的功能和工具,使安全测试人员能够有效地发现和利用应用程序的漏洞。

Burp Suite的主要组成部分和功能
  • Proxy代理:Burp Proxy是Burp Suite的核心组件,允许拦截、修改和分析HTTP/HTTPS请求和响应。它可以作为中间人代理,捕获流量并允许用户查看和修改请求、响应的内容,以便进行调试和漏洞挖掘。Burp Proxy还提供了各种高级功能,如拦截规则、自动化扫描、HTTP历史记录等。
  • Scanner扫描器:Burp Scanner是自动化漏洞扫描工具,用于发现应用程序的安全漏洞。它通过对应用程序进行主动扫描,自动检测常见的漏洞类型,如跨站脚本攻击(XSS)、SQL注入、命令注入等。Burp Scanner可以生成详细的漏洞报告,帮助安全测试人员识别和修复潜在的安全风险。
  • Spider爬虫:Burp Spider是一个Web应用程序爬虫,用于自动化地发现隐藏的页面和功能。它通过跟踪和模拟用户的行为,自动遍历和访问应用程序的不同路径和链接。Burp Spider可以帮助测试人员发现未经授权的访问、敏感信息泄露等问题。
  • Intruder暴力破解器:Burp Intruder是一个强大的暴力破解和Fuzz测试工具,用于测试应用程序的鲁棒性和安全性。它可以自动化地发送大量的定制请求,对目标参数进行暴力破解、字典攻击、参数化Fuzz等。Burp Intruder可以帮助测试人员发现认证绕过、弱口令、输入验证问题等。
  • Repeater重放器:Burp Repeater是一个交互式的工具,用于重放和修改请求,观察响应结果。它提供了一个可编辑的请求编辑器,可以手动修改请求参数和头部信息,并观察修改后的响应。Burp Repeater对于调试和测试特定请求非常有用。
为什么推荐Burp Suite

Burp Suite不仅功能强大,而且新版本自带了浏览器,方便初学者进行抓包操作。安装包和破解包可以通过GitHub搜索“Burp Suite Pro Loader & Keygen”获得,这个工具能够自动更新和下载最新的版本。破解原理后面有空的话我也可以抽出时间进行讲解。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值