最新Burp Suite入门讲解
Burp Suite的安装
Burp Suite是一款集成化的渗透测试工具,包含了很多功能,可以帮助我们高效地完成对Web应用程序的渗透测试和安全检测。
Burp Suite由Java语言编写,Java自身的跨平台性使我们能更方便地学习和使用这款软件。不像其他自动化测试工具,Burp Suite需要手动配置一些参数,触发一些自动化流程,然后才会开始工作。
Burp Suite可执行文件是Java文件类型的.jar文件,免费版可以从官网下载。免费版的Burp Suite会有许多限制,让人无法使用很多高级功能。如果想使用更多的高级功能,则需要付费购买专业版。专业版比免费版多一些功能,例如Burp Scanner、Target Analyzer、Content Discovery等。
Burp Suite运行时依赖JRE,需要安装Java环境才可以运行。用百度搜索JDK,选择安装包,然后下载即可,打开安装包后单击“下一步”按钮进行安装(安装路径可以自己更改或采用默认路径)。提示安装完成后,打开cmd,输入“java -version”,若返回版本信息,则说明已经正确安装,如图3-18所示。

图3-18
接下来配置环境变量。右键单击“计算机”按钮,接着单击“属性”→“高级系统设置”→“环境变量”选项,然后新建系统变量,在弹出框的“变量名”处输入“JAVA_HOME”,在“变量值”处输入JDK的安装路径,如“C:\Program Files\Java\ jdk1.8.0_20”,然后单击“确定”按钮。
在“系统变量”中找到PATH变量,在“变量值”的最前面加上“%JAVA_ HOME%\bin;”,然后单击“确定”按钮。
在“系统变量”中找到CLASSPATH变量,若不存在,则新建这个变量。在“变量值”的最前面加上“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;”,然后单击“确定”按钮。
打开cmd,输入“javac”,若返回帮助信息,如图3-19所示,则说明已经正确配置了环境变量。

图3-19
下载好的Burp Suite无须安装,直接双击“BurpLoader.jar”文件即可运行,如图3-20所示。

图3-20
Burp Suite入门
Burp Suite代理工具是以拦截代理的方式,拦截所有通过代理的网络流量,如客户端的请求数据、服务器端的返回信息等。Burp Suite主要拦截HTTP和HTTPS协议的流量。通过拦截,Burp Suite以中间人的方式对客户端的请求数据、服务器端的返回信息做各种处理,以达到安全测试的目的。
在日常工作中,最常用的Web客户端就是Web浏览器。可以通过设置代理信息,拦截Web浏览器的流量,并对经过Burp Suite代理的流量数据进行处理。Burp Suite运行后,Burp Proxy默认的本地代理端口为8080,如图3-21所示。

图3-21
这里以Firefox浏览器为例,单击浏览器右上角的“打开”菜单,依次单击“选项”→“常规”→“网络代理”→“设置”→“手动配置代理”选项,如图3-22所示,设置HTTP代理为127.0.0.1,端口为8080,与Burp Proxy中的代理一致。

图3-22
下面介绍Burp Suite中的一些基础功能。
1.Burp Proxy
Burp Proxy是利用Burp开展测试流程的核心模块,通过代理模式,可以拦截、查看、修改所有在客户端与服务器端之间传输的数据。
Burp Proxy的拦截功能主要由Intercept选项卡中的“Forward”、“Drop”、“Interception is on/off”和“Action”构成,它们的功能如下。
(1)Forward表示将拦截的数据包或修改后的数据包发送至服务器端。
(2)Drop表示丢弃当前拦截的数据包。
(3)Interception is on表示开启拦截功能,单击后变为Interception is off,表示关闭拦截功能。
(4)单击“Action”按钮,可以将数据包发送到Spider、Scanner、Repeater、Intruder等功能组件做进一步的测试,同时包含改变数据包请求方式及请求内容的编码等功能。
打开浏览器,输入需要访问的URL并按回车键,这时将看到数据流量经过Burp Proxy并暂停,直到单击“Forward”按钮,才会继续传输。单击“Drop”按钮后,这次通过的数据将丢失,不再继续处理。
Burp Suite拦截的客户端和服务器交互之后,可以在Burp Suite的消息分析选项中查看这次请求的实体内容、消息头、请求参数等信息。Burp Suite可以通过Raw和Hex的形式显示数据包的格式。
(1)Raw显示Web请求的原始格式,以纯文本的形式显示数据包,包含请求地址、HTTP协议版本、主机头、浏览器信息、Cookie等,可以通过手动修改这些信息,对服务器端进行渗透测试。
(2)Hex对应的是Raw中信息的十六进制格式,可以通过Hex编辑器对请求的内容进行修改,在进行00截断时非常好用,如图3-23所示。

图3-23
界面右侧Inspector中显示了Request Cookies、Request Headers等信息。
2.Spider
Spider的蜘蛛爬取功能可以帮助我们了解系统的结构。其中Spider爬取到的内容将在Target中展示,如图3-24所示,界面左侧为一个主机和目录树,选择具体某一个分支即可查看对应的请求与响应。

图3-24
3.Decoder
Decoder的功能比较简单,它是Burp Suite中自带的编码、解码及散列转换的工具,能对原始数据进行各种编码格式和散列的转换。
Decoder的界面如图3-25所示。输入域显示的是需要编码/解码的原始数据,此处可以直接填写或粘贴,也可以通过其他Burp Suite工具上下文菜单中的“Send to Decoder”选项发送过来;输出域显示的是对输入域中原始数据进行编码/解码的结果。无论是输入域还是输出域,都支持Text和Hex这两种格式,编码/解码选项由解码选项(Decode as…)、编码选项(Encode as…)、散列(Hash…)构成。在实际使用时,可以根据场景的需要进行设置。

图3-25
编码/解码选项,目前支持URL、HTML、Base64、ASCII、十六进制、八进制、二进制和GZIP共八种形式的格式转换。Hash散列支持SHA、SHA-224、SHA-256、SHA-384、SHA-512、MD2、MD5格式的转换。更重要的是,可以对同一个数据,在Decoder界面进行多次编码、解码的转换。
相关文章:
最新Burp Suite入门讲解
Burp Suite的安装 Burp Suite是一款集成化的渗透测试工具,包含了很多功能,可以帮助我们高效地完成对Web应用程序的渗透测试和安全检测。 Burp Suite由Java语言编写,Java自身的跨平台性使我们能更方便地学习和使用这款软件。不像其他自动化测…...
【C++】模版初阶
目录 泛函编程 函数模版 概念 格式 原理 实例化 模版函数的匹配原则 类模板 定义格式 泛函编程 如何实现一个通用的交换函数呢? void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& left, dou…...
Stable Diffusion 模型下载:DreamShaper(梦想塑造者)
本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十 下载地址 模型介绍 DreamShaper 是一个分格多样的大模型,可以生成写实、原画、2.5D 等…...
GPT-4模型的创造力
超级的创造力是GPT-4等高级语言模型的重要特征之一。它们不仅能够精确地模拟和再现各类文本样式、结构和内容,而且在生成新的文本时,能够通过深度学习算法对海量训练数据中捕捉到的模式进行创新性的重组与拓展: 词汇创新:基于已学…...
没用的计算器
本次的项目仍然属于没用的模块,仅供娱乐,最后附有效果视频,如需要源代码可以私信或评论,本次还是使用vue来实现的,同样也可以修改为JS 一、HTML部分 <div class"con"><div class"calculator&q…...
基于 Python 的大数据的电信反诈骗系统
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...
二、ClickHouse简介
ClickHouse简介 前言一、行式存储二、DBMS功能三、多样化引擎四、高吞吐写入能力五、数据分区与线程级并行六、场景七、特定版本 前言 ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的列式存储数据库(DBMS),使用 C 语言编写,主要…...
C++ 11新特性之并发
概述 随着计算机硬件的发展,多核处理器已经成为主流,对程序并发执行能力的需求日益增长。C 11标准引入了一套全面且强大的并发编程支持库,为开发者提供了一个安全、高效地利用多核CPU资源进行并行计算的新框架,极大地简化了多线程…...
jvm问题自查思路
本文聊一下最近处理了一些jvm的问题上,将这个排查和学习过程分享一下,看了很多资料,最终都会落地到几个工具的使用,本文主要是从文档学习、工具学习和第三方技术验证来打开认知和实践,希望有用。 一、文档 不仅知道了…...
任意IOS16系统iPad/Iphone开启台前调度
方法来自GitHub: GitHub - khanhduytran0/TrollPad: Troll SpringBoard into thinking its running on iPadOS 注意操作前iPad/iPhone上需要安装巨魔手机助手和Filza,关于这两个软件的安装自行百度方法。 备注一个巨魔手机助手的下载地址 Release TrollStar 1.2…...
LeetCode、452. 用最少数量的箭引爆气球【中等,贪心,区间问题】
文章目录 前言LeetCode、452. 用最少数量的箭引爆气球【中等,贪心,区间问题】题目链接与分类思路贪心,连续区间数量问题 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客…...
洛谷C++简单题小练习day10—umi的函数
day10--umi的函数--2.13 习题概述 题目背景 umi 找到了一个神秘的函数 f。 题目描述 这个函数接受两个字符串 s1,s2。这些字符串只能由小写字母组成并且具有相同的长度。这个函数的输出是另一个长度与 s1,s2 相同的字符串 g。 g 的第 i 个字符等于 s1 的第 i 个字符和 s2…...
【Linux学习】线程互斥与同步
目录 二十.线程互斥 20.1 什么是线程互斥? 20.2 为什么需要线程互斥? 20.3 互斥锁mutex 20.4 互斥量的接口 20.4.1 互斥量初始 20.4.2 互斥量销毁 20.4.3 互斥量加锁 20.4.4 互斥量解锁 20.4.5 互斥量的基本原理 20.4.6 带上互斥锁后的抢票程序 20.5 死锁问题 死锁…...
前端开发:(三)CSS入门
1. 介绍CSS 1.1 什么是CSS CSS(Cascading Style Sheets)是一种用于描述文档样式和布局的样式表语言,用于美化和排版HTML和XML等标记语言的内容。 1.2 CSS的作用和优势 CSS的主要作用是控制网页的样式和布局,包括字体、颜色、间…...
一周学会Django5 Python Web开发-Django5创建项目(用PyCharm工具)
锋哥原创的Python Web开发 Django5视频教程: 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计11条视频,包括:2024版 Django5 Python we…...
寒假学习记录13:JS对象
目录 对象转数组 对象双值转数组 Object.entries() (转为二维数组)(属性的值和键) 对象右值转数组 Object.values() (属性的值) 对象左值转数组 Object.keys() (属性的键) 对象左值转…...
学生成绩管理系统|基于Springboot的学生成绩管理系统设计与实现(源码+数据库+文档)
学生成绩管理系统目录 目录 基于Springboot的学生成绩管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员功能模块 2、学生功能模块 3、教师功能模块 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源…...
C#向数组指定索引位置插入新的元素值:自定义插入方法 vs List<T>.Add(T) 方法
目录 一、使用的方法 1.自定义插入方法 2.使用List.Add(T) 方法 二、实例 1.示例1:List.Add(T) 方法 2.示例:自定义插入方法 一、使用的方法 1.自定义插入方法 首先需要定义一个一维数组,然后修改数组的长度(这里使用Length属性获取…...
【大数据Hive】hive 表设计常用优化策略
目录 一、前言 二、hive 普通表查询原理 2.1 操作演示说明 2.1.1 创建一张表,并加载数据 2.1.2 统计3月24号的登录人数 2.1.3 查询原理过程总结 2.2 普通表结构带来的问题 三、hive分区表设计 3.1 区表结构 - 分区设计思想 3.2 操作演示 3.2.1 创建分区表…...
jvm垃圾收集器之七种武器
目录 1.回收算法 1.1 标记-清除算法(Mark-Sweep) 1.2 复制算法(Copying) 1.3 标记-整理算法(Mark-Compact) 2.HotSpot虚拟机的垃圾收集器 2.1 新生代的收集器 Serial 收集器(复制算法) ParNew 收集器 (复制算法) Parallel Scavenge 收集器 (复制…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
在 Spring Boot 中使用 JSP
jsp? 好多年没用了。重新整一下 还费了点时间,记录一下。 项目结构: pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
