从零开始学习网络安全渗透测试之基础入门篇——(五)WEB抓包技术&HTTPS协议&APP&小程序&PC应用&WEB&转发联动
创始人
2024-11-15 14:39:43
0

HTTP/HTTPS抓包技术是一种用于捕获和分析网络流量的方法,它可以帮助开发者、测试人员和网络安全专家理解应用程序的网络行为、调试问题、分析性能和识别潜在的安全威胁。
在这里插入图片描述

一、抓包技术和工具

(一)Charles

Charles 是一款流行的网络调试代理工具,主要用于捕获和分析计算机与互联网之间的所有网络数据。它支持多种协议,包括 HTTP、HTTPS 和 SSL。以下是 Charles 工具的详细介绍:

功能特点

  1. 网络数据捕获
    • 捕获所有通过网络接口的数据包。
    • 支持实时监控和保存数据包以供后续分析。
  2. 请求和响应查看
    • 显示详细的请求和响应信息,包括 HTTP 头部、Cookies、查询参数、主体等。
    • 支持多种视图,如结构化树状视图、原始视图和JSON格式视图。
  3. SSL代理
    • 可以解密HTTPS流量,以便用户可以查看和修改加密的数据。
    • 需要在客户端设备上安装Charles的根证书。
  4. 断点功能
    • 允许用户在请求发送到服务器之前或服务器响应之前暂停它们。
    • 可以修改请求和响应的内容。
  5. 带宽限制
    • 模拟不同的网络条件,如低速网络或高延迟。
  6. 重写功能
    • 改写请求的URL、头部、主体等,或者改写响应的数据。
  7. 映射和本地代理
    • 将远程请求映射到本地文件系统,便于本地开发和测试。
    • 支持将线上资源映射到本地资源,便于调试。
  8. 会话重复
    • 重复之前的网络请求,便于测试和调试。
  9. 网络隧道
    • 将网络流量通过Charles代理服务器转发,便于分析和调试。
  10. AMF支持
    • 支持 Adobe Flash Remoting (AMF) 数据格式。

使用场景

  • Web开发:调试前后端交互问题。
  • 移动应用开发:捕获和分析移动设备上的网络流量。
  • 接口测试:验证API的功能和性能。
  • 性能分析:检测网络请求的响应时间和大小。
  • 网络安全:检查敏感数据是否被明文传输。

安装和配置

  1. 下载和安装
    • 从Charles官方网站下载适合操作系统的版本。
    • 安装并启动Charles。
  2. 配置代理
    • 在需要监控流量的设备上设置网络代理为Charles的监听端口(默认为8888)。
    • 在设备上安装Charles提供的根证书,以解密HTTPS流量。
  3. 开始捕获
    • 在Charles中启用捕获功能,即可开始监控网络数据。

Charles 是一个强大的网络调试工具,适用于各种开发和测试场景。通过提供详细的数据分析和交互式操作,它帮助用户更好地理解和优化网络应用。

在这里插入图片描述
针对HTTPS需要先在help——ssl proxying——save保存证书。

在这里插入图片描述
设置proxy的端口
在这里插入图片描述
通过charles转发到burpsuite,设置burp的接收代理ip和端口。

(二)Fiddler

Fiddler 是一款由 Eric Lawrence 开发的免费的网络调试代理工具,广泛用于捕获 HTTP 和 HTTPS 请求和响应。它主要用于网页开发调试,但也适用于任何使用 HTTP/HTTPS 协议的应用程序。以下是 Fiddler 工具的详细介绍:

功能特点

  1. 网络流量监控
    • 捕获计算机和互联网之间的所有 HTTP 和 HTTPS 通信。
    • 实时显示请求和响应的详细信息。
  2. 请求和响应检查
    • 查看和编辑请求和响应的头信息、cookies、URL、查询字符串和主体内容。
    • 支持多种格式(如JSON、XML、HTML)的高亮显示和格式化。
  3. 断点功能
    • 在请求发送之前或服务器响应之后暂停通信,允许修改请求或响应。
  4. 会话重放
    • 重新发送捕获的请求,用于测试和调试。
  5. 自定义请求
    • 构建和发送自定义的 HTTP/HTTPS 请求。
  6. 性能分析
    • 分析请求的响应时间、下载速度和其他性能指标。
  7. HTTPS 解密
    • 解密 HTTPS 流量以便查看和修改加密数据(需要安装 Fiddler 的根证书)。
  8. 流量过滤
    • 根据各种条件(如主机、请求类型、状态代码等)过滤捕获的流量。
  9. 插件支持
    • 支持多种扩展插件,增强 Fiddler 的功能。
  10. 自动化脚本
    • 使用 FiddlerScript 或 .NET 编写自动化脚本,自定义 Fiddler 的行为。

使用场景

  • Web 开发:调试前端和后端的通信问题。
  • 移动应用开发:通过配置设备代理,捕获和分析移动应用的流量。
  • API 调试:测试和验证 API 接口的正确性。
  • 安全测试:检查数据传输的安全性,如明文传输、不安全的证书等。
  • 性能优化:分析网络请求的性能瓶颈。

安装和配置

  1. 下载和安装
    • 访问 Fiddler 官方网站下载最新版本。
    • 安装 Fiddler 并启动。
  2. 配置代理
    • Fiddler 默认会在启动时配置为系统代理。
    • 对于 HTTPS 流量,需要安装 Fiddler 的根证书。
  3. 开始捕获
    • 在 Fiddler 中点击“开始捕获”按钮,即可开始监控网络流量。
      在这里插入图片描述
      菜单: 工具——选项——HTTPS——动作,导出证书到桌面。

(三)BurpSuite

Burp Suite 是由 PortSwigger Web Security 公司开发的一款集成的平台,用于执行 Web 应用程序的安全测试。它由多个不同的工具组成,这些工具协同工作,支持整个测试过程,从初始映射和分析应用程序的攻击面,到发现和利用安全漏洞。以下是 Burp Suite 的详细介绍:

功能特点

  1. 代理(Proxy)
    • 捕获和修改客户端和服务器之间的 HTTP(S) 通信。
    • 允许用户拦截、查看和修改请求和响应。
  2. 扫描器(Scanner)
    • 自动化地发现 Web 应用程序中的多种安全漏洞。
    • 提供详细的漏洞报告和建议。
  3. 入侵者(Intruder)
    • 用于自动化定制的攻击以发现和利用应用程序的安全漏洞。
    • 支持多种攻击类型,如枚举、模糊测试等。
  4. 重放器(Repeater)
    • 手动修改和重放单个 HTTP 请求,用于测试和调试。
  5. ** Sequencer**:
    • 测试 Web 应用程序中会话令牌或其他重要数据项的随机性和熵值。
  6. 解码器(Decoder)
    • 对 URL、HTML、基64、散列等编码的字符串进行解码和编码。
  7. 扩展器(Extender)
    • 允许用户加载和运行自定义插件,以扩展 Burp Suite 的功能。
  8. 漏洞报告
    • 生成详细的漏洞报告,支持多种格式,如 HTML、XML 和 CSV。

使用场景

  • Web 安全测试:执行全面的 Web 应用程序安全评估。
  • 渗透测试:利用 Burp Suite 的工具进行渗透测试,寻找和利用安全漏洞。
  • 开发测试:帮助开发人员在开发过程中发现和修复安全缺陷。

安装和配置

  1. 下载和安装
    • 从 PortSwigger Web Security 官方网站下载适合操作系统的版本。
    • 安装并启动 Burp Suite。
  2. 配置代理
    • 将浏览器的代理设置更改为指向 Burp Suite 代理的监听端口(默认为 8080)。
    • 在 Burp Suite 中设置代理以捕获 HTTPS 流量,可能需要安装 Burp Suite 的根证书。
  3. 开始使用
    • 通过浏览器发送请求,Burp Suite 代理将捕获流量,用户可以在不同的工具中进行分析。

注意事项

  • 合法使用:确保使用 Burp Suite 进行渗透测试的行为符合法律法规和公司政策。
  • 许可证:Burp Suite 有免费版和专业版,专业版需要购买许可证才能使用全部功能。
  • 性能影响:使用代理可能会对网络性能造成一定影响。
    Burp Suite 是一款强大的 Web 应用程序安全测试工具,广泛应用于安全行业。它的灵活性和可扩展性使其成为安全专家和开发人员的重要工具之一。

下载安装

在这里插入图片描述

(四)Proxifier

Proxifier是一款功能强大的代理客户端软件,主要用于在系统级别通过代理服务器强制Web请求,使不支持代理的应用程序的请求也能通过代理访问其目标网站。这款软件支持多种操作系统和代理协议,包括SOCKS4、SOCKS5和HTTP代理协议,以及TCP和UDP协议。Proxifier的特点包括可以指定端口、指定IP、指定程序等运行模式,具有很好的兼容性。
Proxifier的主要用途包括:

  1. 使任何网络应用程序都能通过代理服务器运行,无需对软件进行特殊配置,整个过程对用户透明。
  2. 通过代理服务器网关访问受限制的网络。
  3. 绕过防火墙的限制。
  4. 强制所有网络连接,包括系统工作,都通过代理服务器连接。
  5. 通过代理服务器解析DNS名称。
  6. 提供灵活的代理规则,可使用通配符针对主机名和应用程序名称。
  7. 隐藏用户IP地址,增加安全隐私。
  8. 支持通过代理服务器链工作,可使用不同的协议。
  9. 查看当前网络活动的实时信息,如连接、主机、时间和带宽使用等。
  10. 维护日志文件和流量转储。
  11. 获取详细的网络错误报告。
    在这里插入图片描述
    在这里插入图片描述

关于Proxifier的配置和使用,通常包括以下步骤:

  1. 安装Proxifier。
  2. 配置代理服务器,包括指定代理服务器的IP和端口,并选择相应的代理协议。
  3. 配置代理规则,指定哪些应用程序或进程通过代理服务器路由其网络请求。
    Proxifier的使用范围广泛,尤其在一些特定的网络环境下,如渗透测试、网络扫描等场合,能发挥重要作用。例如,在进行网络渗透测试时,可以通过Proxifier来管理和切换代理服务器,以避免被WAF(Web应用防火墙)拦截。

(五)代理服务器设置

在Windows 11中设置代理服务器可以帮助您通过第三方服务器访问互联网,这可能会用于访问地理位置限制的内容、提高网络速度或保护您的隐私。以下是设置代理服务器的步骤:

对于所有连接

  1. 打开“设置”:
    • 您可以通过点击开始菜单中的齿轮图标或使用快捷键Win + I来打开“设置”。
  2. 进入“网络与互联网”部分:
    • 在“设置”窗口中,点击“网络与互联网”。
  3. 选择“代理”:
    • 在左侧菜单中,滚动到底部,选择“代理”。
  4. 设置代理:
    • 在“代理”部分,您可以看到“手动设置代理”的部分。打开“使用代理服务器”的开关。
    • 在“地址”栏输入代理服务器的地址,在“端口”栏输入代理服务器的端口号。
  5. 保存设置:
    • 输入完成后,点击“保存”按钮。

对于特定的网络类型(如Wi-Fi或以太网)

  1. 在“网络与互联网”设置中,点击您想要设置代理的连接类型,例如“Wi-Fi”或“以太网”。
  2. 滚动到底部,点击“代理”设置。
  3. 在这里,您可以按照上述步骤4设置代理服务器。

在这里插入图片描述

二、APP&小程序&PC应用的转发联动

1.安装APK模拟器,如逍遥模拟器,配置代理为主机的IP ,端口设置。
在这里插入图片描述
设置代理服务器
在这里插入图片描述
点击设置——网络和互联网
在这里插入图片描述

在这里插入图片描述
进入高级选项,设置代理为手动。
在这里插入图片描述
然后打开charles或fiddler进行抓包,分析APP的数据包。

2.转发数据包到BURP进行分析

通过配置charles或Proxifier,将数据包转发到burpsuite软件上面。

相关内容

热门资讯

C++ std::atomic... C++11 引入了两个重要的同步机制用于多线程编程:std::atom...
C++开源界面库duilib的... 目录1、使用CEditUI编辑框2、使用CLabelUI或CTextUI的Html文本效果3、使用C...
Python应用—利用open... 1.创作需求我们通常需要从一幅图中找到自己想要的信息,例如从一堆表情中找到,自己需要的表情。2.创作...
【无标题】vue2鼠标悬停(h... 在Vue 2中,要实现鼠标悬停(hover)时切换图片的功...
【C++】实验十四 题目:1、编写程序,输入a,b,cÿ...
Java GC(垃圾回收)机制... Java GC(垃圾回收)机制详解1、GC触发的条件2、GCRoots的...
【c++】继承学习(一):继承... 🔥个人主页:Quitecoder🔥专栏:...
C++:list模拟实现 hello,各位小伙伴,本篇文章跟大家一起学习《C++&...
Java中的Heap(堆)(如...         前言:(Heap)是一种特殊的完全二叉树&...
【C++】C/C++内存管理 C/C++内存管理C/C++内存分布C语言中的内存管理方式C+...