网络安全测试工具Burp Suite基本使用
一、介绍
Burp Suite 是一款由 PortSwigger 开发的集成网络安全测试工具,广泛用于渗透测试和漏洞扫描。它提供了一系列功能强大的工具和功能,帮助安全研究人员和渗透测试人员识别和修复 Web 应用程序中的安全漏洞。以下是 Burp Suite 的主要功能和特点:
主要功能
-
代理(Proxy):
- Burp Suite 的核心功能之一是其 HTTP/HTTPS 代理,允许用户捕获、分析和修改 Web 应用程序的请求和响应。
- 通过配置浏览器使用 Burp Suite 作为代理,用户可以观察到所有的网络流量,并进行实时的调试和修改。
-
拦截(Intercept):
- 在
Proxy选项卡中的拦截功能可以捕获传输中的 HTTP 请求和响应,用户可以在请求发送到目标之前进行修改。
- 在
-
扫描器(Scanner):
- 在 Burp Suite Pro 版本中,内置的自动扫描器可以自动扫描 Web 应用程序,检测常见的安全漏洞,如 SQL 注入、跨站脚本攻击(XSS)、文件包含等。
-
爬虫(Spider):
- 自动爬取目标网站,发现所有的链接和页面,帮助用户识别网站的结构和潜在的攻击面。
-
重放(Repeater):
- 允许用户手动修改并重新发送 HTTP 请求,以便进行详细的测试和调试。
-
入侵(Intruder):
- 提供自动化攻击功能,可以用来执行如暴力破解、参数注入等攻击,帮助发现应用程序中的安全漏洞。
-
比较器(Comparer):
- 用于比较两个 HTTP 请求或响应的内容,以帮助识别差异和潜在的安全问题。
-
扩展(Extensions):
- 支持通过 Burp Suite 的扩展框架安装第三方插件,扩展其功能,适应不同的测试需求。
-
报告(Reporting):
- 生成详细的测试报告,总结发现的漏洞和安全问题,提供修复建议。
使用场景
- 渗透测试:帮助安全研究人员和渗透测试人员识别和利用 Web 应用程序中的漏洞。
- 安全评估:评估 Web 应用程序的安全性,发现潜在的安全风险。
- 漏洞验证:验证安全漏洞的存在性,并进行进一步的分析和修复建议。
二、下载
分为专业版与社区版,本文只讲解社区版的使用方法
2.1 社区版下载地址:
https://portswigger.net/burp/releases/professional-community-2024-3-1-3?requestededition=community&requestedplatform=

2.2 专业版下载
Burp Suite Release Notes
三、启动页
我们使用的是社区版本,只有专业版本才支持 新建和打开历史项目。
所以我们直接点击NEXT就可以了

选择配置
直接点Start Burp


四、对移动端app进行代理并抓包
4.1 设置 Burp Suite 代理
默认情况下,Burp Suite 使用 127.0.0.1:8080 作为 HTTP/HTTPS 代理。
你可以在 Burp Suite 的 Proxy -> Proxy settings/ Options 中查看和配置代理设置。


新增本机真实IP地址的代理(一定要设置此项)
Add -- Specific address ,这里会回显真实的IP地址,选择真实的IP地址,
设置 端口号Bind to port 8080

注意:
1、默认端口号为8080
2、在 Burp Suite 中,默认的代理地址是 127.0.0.1:8080,这是本地回环地址(localhost),只适用于本地计算机上的应用。如果你希望在移动设备或其他远程设备上访问 Burp Suite,你需要使用计算机的实际 IP 地址,而不是 127.0.0.1。
4.2 配置移动设备代理
4.2.1 设置代理:
1、在移动设备上,进入网络设置,找到 Wi-Fi 网络设置,然后修改该网络的代理配置。
2、选择手动设置代理,并输入 Burp Suite 运行的计算机的 IP 地址和端口号(通常是 8080)。
扩展:如何查找计算机的 IP 地址
方式一:
查看Burp Suite 下Proxy -> Proxy settings ---Add -- Specific address 本机IP地址回显
方式二:
-
Windows:
- 打开命令提示符(按
Win + R,然后输入cmd)。 - 输入
ipconfig并按 Enter。 - 查找“以太网适配器”或“无线局域网适配器”下的 IPv4 地址,通常以
192.168.x.x或10.x.x.x形式显示。
- 打开命令提示符(按
-
macOS:
- 打开终端(通过 Spotlight 搜索“Terminal”)。
- 输入
ifconfig并按 Enter。 - 查找
en0或en1接口下的inet地址(通常是192.168.x.x或10.x.x.x)。
-
Linux:
- 打开终端。
- 输入
ifconfig或ip addr并按 Enter。 - 查找
eth0、wlan0或ens33接口下的 IP 地址(通常是192.168.x.x或10.x.x.x)。
4.2.2 确保网络连接:
确保移动设备能够访问计算机上的 Burp Suite。你可能需要确保计算机和移动设备在同一个网络中(例如,连接到同一个 Wi-Fi 网络)。
4.3 安装 Burp Suite 证书
对于 HTTP 请求,你不需要安装 Burp Suite 证书,因为 HTTP 请求是未加密的,Burp Suite 可以直接捕获和分析这些请求。
如果移动端应用使用 HTTPS(即加密的 HTTP 请求),需要安装 Burp Suite 的根证书,以便 Burp Suite 能够解密和分析 HTTPS 流量。这是因为 Burp Suite 会作为中间人代理,对 HTTPS 请求进行解密和重加密,安装证书可以确保这一步骤顺利进行。
1、下载证书:
- 由于 Burp Suite 默认使用 HTTPS 代理,你需要在移动设备上安装 Burp Suite 的根证书,以便能够捕获 HTTPS 流量。
- 在 Burp Suite 的
Proxy->Options->SSL中,你可以找到并下载根证书。
2、安装证书:
- 将下载的证书导入到移动设备。通常你需要通过发送电子邮件、通过 Web 服务器或其他方法将证书传输到移动设备上,然后在移动设备的安全设置中安装证书。
4.4. 抓包和分析
4.4.1、拦截流量:
如果只抓包,不拦截请求可以不设置此项。
如果需要拦截请求,则设置Intercept is on (默认为off)
在 Burp Suite 的 Proxy -> Intercept 选项卡中,确保拦截功能是开启的(Intercept is on),以捕获移动设备发出的 HTTP/HTTPS 请求。

4.4.2、app发起请求:
在移动设备上使用应用程序,这些请求会被 Burp Suite 捕获。
4.4.3、拦截请求与分析
请求会被拦截,显示在Proxy Intercept 下。
此时显示的请求,是被拦截的。点击 Forward,发送该请求。

你可以在 Burp Suite 的 HTTP History 中查看所有请求和响应。

4.4.4、分析流量:
你可以使用 Burp Suite 提供的各种工具和功能,如 Repeater、Intruder、Scanner 等,来分析和测试移动应用的网络请求和响应。
五、注意事项
- 确保证书正确:在某些移动操作系统(如 Android 13 及以上)中,安装用户证书可能需要额外的配置或步骤。
- 检查防火墙设置:确保计算机上的防火墙或安全软件没有阻止 Burp Suite 的代理端口。
- 使用真实设备:在某些情况下,模拟器可能无法完全模拟真实设备的网络行为,因此使用真实设备进行测试通常更可靠。
相关文章:
网络安全测试工具Burp Suite基本使用
一、介绍 Burp Suite 是一款由 PortSwigger 开发的集成网络安全测试工具,广泛用于渗透测试和漏洞扫描。它提供了一系列功能强大的工具和功能,帮助安全研究人员和渗透测试人员识别和修复 Web 应用程序中的安全漏洞。以下是 Burp Suite 的主要功能和特点&…...
使用pytest+selenium编写网页UI自动化脚本和用例
1 UI自动化测试 UI自动化测试(User Interface Automation Testing)是一种通过编写脚本或使用自动化测试工具,对界面(UI)进行自动化测试的方法。原理主要是模拟用户打开客户端或网页的UI界面,自动化执行用户…...
新能源遇“秋老虎”,8月第二周销量集体下滑,问界惨遭腰斩
文/王俣祺 导语:随着日前7月份乘用车销量的公布,我们发现7月并没有因6月各车企的“冲量”行为迎来反噬,对于这种“淡季不淡”的现象市场上一片看好。但从近日公布的8月销量数据来看,人们对于“秋老虎”的恐怖可以说是一无所知。随…...
SEO模板网站的wordpress主题最适合google外贸SEO
在寻找最适合Google外贸SEO的WordPress主题时,有几个关键因素需要考虑:速度、SEO友好性、多语言支持、以及是否易于定制。以下是一些推荐的WordPress主题,它们不仅速度快,而且对SEO非常友好,非常适合外贸网站ÿ…...
fetch跨域请求数据的前端设置和后端php的header设置
跨源请求,也称为CORS(Cross-Origin Resource Sharing)请求,是Web开发中常见的一种需求,允许一个网页的JavaScript代码向与该网页不同源的服务器发出HTTP请求。以下是使用JavaScript中的fetch函数进行跨源请求的一个基本…...
Ted靶机
信息收集: 靶机地址:https://www.vulnhub.com/entry/ted-1,327/ (1)ip扫描 nmap 192.168.254.0/24 -sn | grep -B 2 00:0C:29:FF:7F:9A (2)端口扫描 nmap -p- -A 192.168.254.159 (3&#x…...
HarmonyOS ArkTS 构建布局
在 HarmonyOS 中,ArkTS 是一种基于 TypeScript 的编程语言,专为开发 HarmonyOS 应用而设计。构建布局是开发应用的关键步骤之一。以下是如何在 ArkTS 中构建布局的基本指南。 1. 创建项目和页面 首先,确保已经创建了一个 HarmonyOS 项目。如…...
yolov5详解(二):通过yaml文件构建完整模型
依然拿yolov5l v6.0版本来讲解 1. yaml文件 以下是yolov5l.yaml文件内容 # YOLOv5 🚀 by Ultralytics, GPL-3.0 license# Parameters nc: 80 # number of classes depth_multiple: 1.0 # model depth multiple width_multiple: 1.0 # layer channel multiple …...
8月8日学习笔记 python基础
1.环境 python2, python3 yum list installed|grep python yum -y install python3 # 最新安装3.12可以使⽤源码安装,教程是在第⼀个星期pdf python3 --version 3.6.8 #进⼊到python的编辑状态 python3 # 如果直接输⼊python,也会进⼊到pyth…...
电动自行车出海黑马Avento独立站拆解(上)丨出海笔记
这次我们来拆解一个电动自行车的独立站 为什么选电动自行车? 因为全球疫情,带来出行问题——避免聚集,大家都减少了公共交通工具,而改为自行车,电动自行车...... 君不见疫情之后无论是出行自行车,还是健…...
Gerrit 使用教程
一、Gerrit简介 Gerrit,一种开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的程序员,可以相互审阅彼此修改后的代码,决定是否能够提交,退回或是继续修改。它使用版本控制系统Git作为底…...
sudu提权命令账号安全控制(su命令)执行单个命令并返回原用户、执行多个命令并返回原用户、保持当前环境变量、配置文件/etc/sudoers
su命令 su 命令是 Linux 和 Unix 系统中用于切换用户身份的命令。它允许一个用户变成另一个用户并以该用户的权限运行命令或启动新的 shell 会话。 基本语法 su [选项] [用户名] 用途: su[选项][-][用户[arg]…] 将有效用户id和组id更改为user的id。 A merely-im…...
【线性代数】【二】2.7 矩阵的秩
文章目录 前言一、向量组的秩二、矩阵的秩三、矩阵的可逆性与秩总结 前言 在前面的内容中,我们已经陆陆续续地给出了秩的概念。本文可以看成是对以往概念与性质的总结,那专门针对秩进行分析。 一、向量组的秩 在笔记2.2中,我们学习了极大线…...
计算机网络部分基础知识
网络协议的意义 单台主机内部的设备之间需要发送和接收消息,那么和相隔很远的两台主机之间发送消息有什么区别呢?两台主机通过网络发送消息,相当于两个网卡设备之间进行通信,最大的区别在于距离变长了。而距离变长带来的结果就是&…...
WESWOO合作的出海企业(一)
分享一些我们在shopify开发上合作的品牌介绍1. **韶音科技(SHOKZ)**: - WESWOO为韶音科技设计了多个产品页面,如OPENFIT、OPENSWIMPRO等,这些页面展示了产品特点、滑动特效、比较功能等,并通过品牌VI统一&a…...
vue 项目中 使用vxe-grid 表格中给表格的表头设置特殊的格式 , 并且给指定的列文字设置颜色
项目场景: 相关背景: vue 项目中 使用vxe-grid 表格中给表格的表头设置特殊的格式,并为指定的列文字设置颜色 实现方案: 具体实现方法及步骤: 一、给表格的表头设置特殊的格式 实现方式一: :header-row-s…...
基于SpringBoot的企业资产管理系统
TOC springboot117基于SpringBoot的企业资产管理系统 系统概述 1.1 研究背景 智慧养老是面向居家老人、社区及养老机构的传感网系统与信息平台,并在此基础上提供实时、快捷、高效、低成本的,物联化、互联化、智能化的养老服务。 随着科技进步&#…...
ps快捷键,学习
ps快捷键图片变的特别大,归位,ctrl0背景图层锁住 选中图层,点击顶部图层,新建,背景图层,确定,就解开了,想在锁住,在点一次...
python代码模拟服务器实验2:IO多路复用select
实验代码的环境是在windows,和linux是有差别的 在Windows系统上,select模块需要传递特定的对象类型,而不是文件描述符。在Unix-like系统上,文件描述符是一个整数,而在Windows上,select期望得到的是socket对…...
修改ubuntu的终端显示语言为英文,界面保持为中文
修改ubuntu的终端显示语言为英文,界面保持为中文 sudo nano /etc/default/locale LANGzh_CN.UTF-8nano ~/.bashrc 在文件未尾加入下列两行 export LANGen_US.UTF-8 export LANGUAGEen在终端执行 source ~/.bashrc之后提示语言就变成英文了...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
OD 算法题 B卷【正整数到Excel编号之间的转换】
文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...
Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
tauri项目,如何在rust端读取电脑环境变量
如果想在前端通过调用来获取环境变量的值,可以通过标准的依赖: std::env::var(name).ok() 想在前端通过调用来获取,可以写一个command函数: #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...
