一、Burp Suite简介

  • Burp Suite 是一款集成化的渗透测试工具,包含了很多功能,可以帮助我们高效地完成对Web应用程序的渗透测试和攻击
  • 特点:Burp Suite由Java语言编写,基于Java自身的跨平台性,使这款软件学习和使用起来更方便。 Burp Suite不像其他自动化测试工具,它需要手工配置一些参数,触发一 些自动化流程,然后才会开始工作
  • Burp Suite可执行程序是Java文件类型的jar文件

免费版本与商业版本

  • 下载官网:Download Burp Suite Community Edition - PortSwigger
  • 免费版可以从官网下载。免费版的Burp Suite会有许多限制,无法使用很多高级工具

专业版与免费版的主要区别有以下三点:

  • Burp Scanner
  • 工作空间的保存和恢复
  • 拓展工具,如Target Analyzer、Content Discovery、Task Scheduler

软件运行的环境依赖:

  • Burp Suite 是用Java语言开发的,运行时依赖JRE ,需要安装Java环境(JDK)才可以运行
  • 安装java环境的步骤省略,自行安装

二、下载与使用

  • Burp Suite破解版下载百度云地址:百度网盘 请输入提取码(密码:qs65)

安装与使用步骤:

第一步:

  • 解压之后有如下5个文件,点击运行第一个文件

第二步:

  • 会跳出下图右侧的窗口,然后点击“Run”会跳出左侧的窗口。然后将右侧窗口的“license key”复制输入到左侧的窗口中,然后点击Next

第三步:

  • 来到这一步,点击“Manual activation”

  • 会跳出左侧的窗口,将左侧窗口的“request”复制然后黏贴到右侧窗口的“Activation Request”中,复制之后会自动在“Activation Response”中生成一长串文本

  • 将在“Activation Response”中生成的一长串文本复制到左侧窗口中,见下图

  • 然后点击Nex来到下图,点击Finish就完成了

第四步:

  • 上面安装完成之后,以后想要使用Burp Suite直接点击第一个文件

  • 然后点击Run按钮

  • 点击Next

  • 点击Start Burp,就可以正常使用Burp Suite了

三、使用Proxy设置代理

  • 概念:Burp Suite代理工具是以拦截代理的方式,拦截所有通过代理的网络流量,如客户端的请求数据、服务器端的返回信息等。Burp Suite主要拦截HTTP和HTTPS协议的流量,通过拦截, Burp Suite以中间人的方式对客户端的请求数据、服务端的返回信息做各种处理,以达到安全测试的目的

使用Burp Suite为Web浏览器设置代理:

  • 在Proxy的Options选项卡中可以设置代理,下图可以看到Burp Suite默认开启了一个代理(默认的端口为8080,地址为127.0.0.1)

  • 如果需要设置其他代理,可以通过点击Add按钮进行添加

  • 在日常使用中,最常用的Web客户端就是Web浏览器,我们可以通过设置代理信息,拦截Web浏览器的流量,从而对流量进行分析
  • 为浏览器设置代理(以火狐浏览器为例,见下图):打开火狐浏览器==>点击右上角的选项卡,选择选项==>点击常规==>点击网络设置中的设置==>选择“手动代理配置”,然后输入代理服务器的IP与端口,此处就是我们Burp Suite代理服务器的地址==>然后点击确定即可

四、Proxy的使用

Proxy的功能

  • Burp Proxy是利用Burp开展测试流程的核心, 通过代理模式,可以让我们拦截、 查看、修改所有在客户端与服务端之间传输的数据

Proxy的拦截

Proxy的拦截功能主要由Intercept选项卡提供,该选项包括以下内容:

  • Forward:表示将拦截的数据包或修改后的数据包发送至服务器端
  • Drop:表示丢弃当前拦截的数据包
  • Interception is on:表示开启拦截功能,单击后变为Interception is off,表示关闭拦截功能
  • 单击Action按钮:可以将数据包进一步发送到Spider、Scanner、Repeater、Intruder等功能组件做进一步的测试,同时也包含改变数据包请求方式及其body的编码等功能

演示案例

  • 上面为谷歌设置了代理之后,打开谷歌浏览器,输入一个URL并按回车访问

  • 这时可以看到数据流量经过Burp Proxy并暂停,直到点击Forward按钮,数据才会继续传输下去。如果点击了Drop按钮,这次通过的数据将丢失,不再继续处理

当Burp Suite拦截的客户端和服务器交互之后,我们可以在Burp Suite的消息分析选项中查看这次请求的实体内容、消息头、请求参数等信息。Burp有四中消息类型显示数据包:Raw、Params、Headers和Hex

  • Raw:主要显示Web请求的raw格式,以纯文本的形式显示数据包, 包含请求地址、 HTTP协议版本、主机头、浏览器信息 Accept可接受的内容类型、字符集、编码方式、 cookie等,可以通过手动修改这些信息,对服务器端进行渗透测试
  • Params:主要显示客户端请求的参数信息, 包括GET或者POST请求的参数、cookie参数。可以通过修改这些请求参数完成对服务器端的渗透测试
  • Headers:显示的是数据包中的头信息,以名称、值的形式显示数据包
  • Hex:是Raw中信息的二进制内容,可以通过Hex编辑器对请求的内容进行修改, 在进行00截断时非常好用

五、Spider的使用

  • Spider的蜘蛛爬行功能可以帮助我们了解系统的结构,其中Spider爬取到的内容将在Target中展示
  • 如下图所示,界面左侧为一个主机和目录树,选择具体某一个分支即可查看对应的请求与相应

六、Decoder的使用

  • 功能:Decoder的功能比较简单,它是Burp中自带的编码解码及散列转换的工具,能对原始数据进行各种编码格式和散列的转换

使用

  • 输入域显示的是需要编码/解码的原始数据,此处可以直接填写或粘贴,也可以通过其他Burp工具上下文菜单中的“Send to Decoder”选项发送过来
  • 我们通过在输入框输入数据,然后再右侧选择编码/解码,然后再输出框输出

  • 可以在左侧选择输入框显示的格式(Text:文本格式,Hex:十六进制格式)

  • 对于编码和解码选项主要由解码选项(Decode as )、编码选项(Encode as)、散列(Hash)构成。在实际使用时,根据使用场景选择

  • 对于编码解码选项而言,目前目前支持URL、HTML、Base64、ASCII 、十六进制、八进制、二进制和GZIP共八种形式的格式转换。Hash散列支持SHA、SHA-224、SHA-256、SHA-384、SHA-512、MD2、MD5格式的转换

  • 更重要的是:对同一个数据,我们可以在Decoder界面进行多次编码、解码的转换

七、Scanner的使用

  • 功能:Burp Scanner主要用于自动检测Web系统的各种漏洞 。本文介绍Scanner的基本使用方法,在实际使用中可能会有所改变,但大体环节如下

Burp Scanner主要有“主动扫描”和“被动扫描”两种扫描方式

主动扫描( Active Scanning)

当使用主动扫描模式时,Burp会向应用发送新的请求并通过Payload验证漏洞。 这种模式下的操作会产生大量的请求和应答数据,直接影响服务端的性能,通常用 于非生产环境。主动扫描适用于以下这两类漏洞

  • 客户端的漏洞,如XSS、HTTP头注入、操作重定向
  • 服务端的漏洞,如SQL注入、命令行注入、文件遍历

对第一类漏洞,Burp在检测时会提交input域,然后根据应答的数据进行解析。 在检测过程中, Burp会对基础的请求信息进行修改,即根据漏洞的特征对参数进行 修改,模拟人的行为,以达到检测漏洞的目的;对第二类漏洞,以SQL注入为例,服 务端有可能返回数据库错误提示信息,也有可能什么都不反馈。 Burp在检测过程中 会采用各个技术验证漏洞是否存在,例如诱导时间延迟、强制修改Boolean值、与模 糊测试的结果进行比较,以提高漏洞扫描报告的准确性

被动扫描(Passive Scanning)

当使用被动扫描模式时, Burp不会重新发送新的请求,只是对己经存在的请求 和应答进行分析,对服务端的检测来说,这比较安全,通常适用于生产环境的检测。一般来说,下列漏洞在被动模式中容易被检测出来

  • 提交的密码为未加密的明文
  • 不安全的cookie 的属性,例如缺少HttpOnly安全标志
  • cookie的范围缺失
  • 跨域脚本包含和站点引用泄露
  • 表单值自动填充,尤其是密码
  • SSL保护的内容缓存
  • 目录列表
  • 提交密码后应答延迟
  • session令牌的不安全传输
  • 敏感信息泄露,例如内部IP地址、电子邮件地址、堆枝跟踪等信息泄露。
  • 不安全的ViewState的配置
  • 错误或不规范的Content-Type指令

虽然被动扫描模式相比主动模式有很多不足,但同时也具有主动模式不具备的 优点。除了对服务端的检测比较安全,当某种业务场景的测试每次都会破坏业务场景的某方面功能时,可以使用被动扫描模式验证是否存在漏洞,以减少测试的风险。

演示

  • 首先,确认Burp Suite正常启动并完成浏览器代理的配置。然后进入Burp Proxy,关闭代理拦截功能

  • 快速浏览需要扫描的域或URL模块,此时在默认情况下,Burp Scanner会扫描通过代理服务的请求,并对请求的消息进行分析来辨别是否存在系统漏洞。而且当我们打开Burp Target时,也会在站点地图中显示请求的URL树
  • 此时我们随便找一个网站进行测试,选择Burp Target的站点地图选项下的链接,在其链接URL上右击选择“Actively scan this host ”,开始扫描这个域的信息

  • 此时会弹出过滤设置,保持默认选项即可扫描整个域

  • 也可以在Proxy下的HTTP history 中,选择某个节点上的链接URL并右击选择Do an active scan进行扫描

  • 这时, Burp Scanner开始扫描,在Scanner界面下双击即可看到扫描结果。每一行都是一个扫描结果,有扫描的时间、类别、主机、路径、安全等级等

  • 我们也可以在扫描结果中选中需要进行分析的部分,将其发送到repeater模块中进行模拟提交分析和验证

  • 当scanner扫描完成后,可以右击Burp Target站点地图选项下的链接,依次选择 “ issues”→“Report issues”选项,然后导出漏洞报告

  • 然后选择导出文件的格式,然后选择在何处保存这个扫描结果文件,以及保存的文件名

  • 然后打开扫描的文件,如下图所示

八、Intruder的使用

  • 功能:Intruder是一个定制的高度可配置的工具,可以对Web应用程序进行自动化攻击, 如通过标识符枚举用户名、ID和账户号码,模糊测试,SQL注入,跨站,目录遍历等
  • 工作原理:它的工作原理是Intruder在原始请求数据的基础上,通过修改各种请求参数获取不同的请求应答。在每一次请求中,Intruder通常会携带一个或多个有效攻击载荷(Payload),在不同的位置进行攻击重放,通过应答数据的比对分析获得需要的特征数据

Intruder的应用场景

  • 标识符枚举:Web应用程序经常使用标识符号引用用户、账户、资产等数据信息。例如,用户名、文件ID和账户号码
  • 提取有用的数据:在某些场景下,不是简单地识别有效标识符,而是通过简单标识符提取其他数据。例如,通过用户的个人空间ID获取所有用户在其个人空间的名字和年龄
  • 模糊测试:很多输入型的漏洞(如SQL注入、跨站点脚本和文件路径遍历) 可以通过请求参数提交各种测试字符串,并分析错误消息和其他异常情况, 来对应用程序进行检测。受限于应用程序的大小和复杂性,手动执行这个测试是一个耗时且烦琐的过程,因此可以设置Payload,通过Burp Intruder 自动化地对Web应用程序进行模糊测试

攻击类型

  • Sniper模式:使用单一的Payload组。它会针对每个位置设置Payload。这种攻击类型适用于对常见漏洞中的请求参数单独进行Fuzzing测试的情景。攻击 中的请求总数应该是position数量和Payload数量的乘积
  • Battering ram模式:使用单一的Payload组。它会重复Payload并一次性把所有相同的Payload放入指定的位置中。这种攻击适用于需要在请求中把相同的输入放到多个位置的情景。请求的总数是Payload组中Payload的总数
  • Pitchfork模式:使用多个Payload组。攻击会同步迭代所有的Payload组,把Payload放入每个定义的位置中。这种攻击类型非常适合在不同位置中需要插入不同但相似输入的情况。请求的数量应该是最小的Payload组中的Payload数量
  • Cluster bomb模式:会使用多个Payload组。每个定义的位置中有不同的Payload组。攻击会迭代每个Payload组,每种Payload组合都会被测试一遍。这种攻击适用于在位置中需要不同且不相关或者未知输入攻击的情景。攻击请求的总数是各Payload组中Payload数量的乘积

演示案例

  • 下面将演示利用Intruder模块爆破无验证码和次数限制的网站的方法

  • 为了试验,我们准备了一些字典文件

  • 当我们去访问网页的时候,代理拦截下了数据,我们将数据复制之后发送到intruder模块中

  • Burp对自动对某些参数进行标记,这里先清除所有标记

  • 然后选择要进行暴力破解的参数值,将Password参数选中,单击“Add$ ”按钮,这里只对一个参数进行暴力破解,所以攻击类型使用“sniper”即可

  • 之后选择要添加的字典

  • 然后点击Start attack开始爆破并等待爆破结束

  • 这里对Status或Length的返回值进行排序,查看是否有不同之处。如果有,查看返回包是否显示为登录成功,如果返回的数据包中有明显的登录成功的信息,则说明己经破解成功

九、Repeater的使用

  • 功能:Burp Repeater是一个手动修改、补发个别HTTP请求,并分析它们的响应的工具。它最大的用途就是能和其他Burp Suite工具结合起来使用。可以将目标站点地图、Burp Proxy浏览记录、Burp Intruder 的攻击结果,发送到Repeater上,并手动调整这个请求来对漏洞的探测或攻击进行微调
  • 在渗透测试过程中,我们经常使用Repeater进行请求与响应的消息验证分析,例如修改请求参数、验证输入的漏洞;修改请求参数、验证逻辑越权;从拦截历史记录中, 捕获特征性的请求消息进行请求重放

分析选项

Repeater有4种分析选项

  • Raw:显示纯文本格式的消息。在文本面板的底部有一个搜索和加亮的功 能,可以用来快速定位需要寻找的字符串,如出错消息。利用搜索栏左边 的弹出项,能控制状况的灵敏度,以及是否使用简单文本或十六进制进行搜索
  • Params:对于包含参数(URL查询字符串、 cookie头或者消息体)的请求, Params选项会把这些参数显示为名字/值的格式,这样就可以简单地对它们 进行查看和修改了
  • Headers:将以名字/值的格式显示HTTP 的消息头,并且以原始格式显示消息体
  • Hex:允许直接编辑由原始二进制数据组成的消息

演示案例

  • 我们在Proxy中使用代理抓到包之后,右击将包信息发送到Repeater

  • 在Repeater的操作界面中,左边的Request为请求消息区,右边的Response为应答消息区,请求消息区显示的是客户端发送的请求消息的详细信息。当我们编辑完请求消息后单击“Go”按钮即可发送请求给服务端

  • 应答消息区显示的是对对应的请求消息单击“Go”按钮后,服务端的反馈消息。通过修改请求消息的参数来比对分析每次应答消息之间的差异,能更好地帮助我们分析系统可能存在的漏洞

十、Comparer的使用

  • 功能:Burp Comparer在Burp Suite中主要提供一个可视化的差异比对功能,来对比分析两次数据之间的区别

使用的场景

  • 枚举用户名的过程中,对比分析登录成功和失败时,服务端反馈结果的区别
  • 使用Intruder进行攻击时,对于不同的服务端相应,可以很快分析出两次响应的区别在哪里
  • 进行SQL注入的盲注测试时,比较两次响应消息的差异,判断相应结果与注入条件的关联关系

使用

使用Comparer时有两个步骤,先是数据加载,然后是差异分析

  • 将数据发送到Comparer中

  • 将两次或多次以上的结果进行对比

Comparer数据加载的常用方式如下所示

  • 从其他Burp工具通过上下文菜单转发过来
  • 直接粘贴
  • 从文件里加载

加载完毕后,如果选择两次不同的请求或应答消息,则下发的比较按钮将被激活,此时可以选择文本比较或字节比较

十一、Sequencer的使用

  • 功能:Burp Sequencer是一种用于分析数据样本随机性质量的工具。可以用它测试应用程序的会话令牌( Session token )、密码重置令牌是否可预测等场景,通过Sequencer的数据样本分析,能很好地降低这些关键数据被伪造的风险

主要模块

主要由以下3个模块组成

  • 信息截取(Live Capture)
  • 手动加载(Manual Load)
  • 选项分析(Analysis Options)

使用

  • 在截取信息后,单击Load按钮加载信息,然后单击“Analyze now”按钮进行分析

靶机、软件搭建:05---Burp Suite工具的安装与使用(Windows环境)相关推荐

  1. Burp Suite 工具 目录

    Burp Suite 工具 Target Proxy Intruder Repeater Sequencer Decoder Comparer Extender Clickbandit Mobile ...

  2. 带有验证码的爆破(包含Burp suite工具爆破)

    带有验证码的爆破 爆破环境 登录页面具有验证码的验证,并且验证码是以图片的形式展示的. 没有次数限制和时间限制(符合爆破的要求!) 爆破原理 爆破主要是通过不断提交数据表单来试错,当然前提就是次数不限 ...

  3. Burp Suite win10下安装图文教程

    主要经验来自:https://www.52pojie.cn/thread-1194411-1-1.html 我的Burp Suite百度网盘资源: 链接:https://pan.baidu.com/s ...

  4. 【Burp Suite工具-1】BurpSuite简介及安装过程详解(含please supply the following JVM argument错误提示原因)

    目录 1 Burpsuite简介 2 Burpsuite安装过程 2.1 安装Java环境 2.2 配置环境变量 2.3 Burpsuite绿色版安装 3 总结 4 参考文献 1 Burpsuite简 ...

  5. Burp Suite工具详解

    Burp Suite 简介 Burp Suite(简称Burp)是一款Web安全领域的跨平台工具,基于Java开发.它集成了很多用于发现常见Web漏洞的模块,如:Proxy.Spider.Intrud ...

  6. Burp Suite Professional 2023.1 (macOS, Linux, Windows) - Web 应用安全、测试和扫描

    Burp Suite Professional, Test, find, and exploit vulnerabilities. 请访问原文链接:https://sysin.org/blog/bur ...

  7. Burp Suite Professional 2023.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描

    Burp Suite Professional, Test, find, and exploit vulnerabilities. 请访问原文链接:https://sysin.org/blog/bur ...

  8. Burp Suite下载与安装详解

    下载Burp Suite ● 官方文档地址:https://portswigger.net/burp/documentation/contents ● 官方下载地址:https://portswigg ...

  9. Burp suite工具使用及功能模块介绍

    安全渗透界使用最广泛的漏扫工具之一,能实现从漏洞发现到利用的完整过程.功能强大.配置较为复杂.可定制型强,支持丰富的第三方拓展插件.基于Java编写,跨平台支持,分为free (社区版)Profess ...

最新文章

  1. pwm波如何控制电机代码_PWM波控制720电机
  2. JMETER Debug Sampler
  3. C语言与汇编“硬在哪里”——什么是面向硬件?
  4. 微信二维码名片生成示例【转】
  5. 【Web技术】771- 图片懒加载从简单到复杂
  6. Nachos Lab3 同步机制
  7. 全局唯一序列号生成器-支持分布式
  8. Android Studio查看MD5与SHA1
  9. 容器监控实践—CAdvisor
  10. ubuntu16.04磁盘分区及挂载
  11. IT30: 数字化转型之路
  12. JavaScript的事件委托(事件代理)原理
  13. uni-app npm安装以及在uni-APP用npm安装echarts
  14. Linux系统配置DNS服务器
  15. 深度学习的简介、领域、框架和实际应用概述
  16. Excel提示“此工作簿包含一个或多个无法更新的链接”怎么办
  17. [JZOJ5542] 董先生的钦点
  18. Frenet坐标系及其与笛卡尔坐标的转换(2)——原理
  19. Socket和ServerSocket(建立客户端和服务器端)
  20. 补丁问题(WannaCry)补丁问题

热门文章

  1. Java API VIII
  2. [译] 我无法想象没有 Git 别名的的场景
  3. linux中shell清屏,oeasy教您玩转linux010109clear清屏
  4. hinet邮箱密码可以破解?
  5. 关于p操作和v操作的理解
  6. OpenCV4 快速入门 (学习笔记 全)
  7. QCon北京2019大会定制书单(内有赠书福利)
  8. GPS测试 QXDM测到的卫星的CN0与看到的CN0不一致
  9. ios微信组件跳转_iOSAPP跳转微信小程序
  10. 二篇、使用excel做数据驱动把数据管理起来