【每天学会一个渗透测试工具】BurpSuite安装及使用指南

在这里插入图片描述

🌝博客主页:泥菩萨

💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具

安装教程请看下方博客链接:

【网络安全的神秘世界】一文看懂 Windows 系统如何安装 Burp Suite-CSDN博客

一、BurpSuite概述

BurpSuite是由Java语言编写而成的渗透测试工具,它集合了多种渗透测试组件,使我们能更好的通过自动化或手工方式完成对Web应用的渗透测试

启动BurpSuite的方式

1️⃣双击启动

2️⃣cmd命令行启动

在这里插入图片描述

设置JVM内存大小

启动BurpSuite后会自动分配64M的内存,在渗透测试过程中抓包,短时间内会涌入大量的流量,这时可能会导致Bp因内存不足而崩溃,从而丢失渗透测试过程中的相关数据,为了避免这种情况的发生,在启动Bp时我们可以指定内存

java -jar -Xmx2048M /your_burpsuite_path

其中参数-Xmx指定jvm可用的最大内存,单位可以是M,也可以是G

java -jar -Xmx2G /your_burpsuite_path

在这里插入图片描述

二、BurpSuite代理和浏览器设置

BurpSuite工具是以拦截代理的方式,拦截所有通过代理的网络流量,如客户端的请求数据、服务端的返回数据等。BurpSuite主要拦截http和https协议的流量,通过拦截,BurpSuite以中间人的方式,实现对客户端请求数据、服务端返回数据的各种处理,以达到安全评估测试的目的。

在这里插入图片描述

在日常工作中,我们最常用的Web客户端就是浏览器,我们可以通过代理的设置,做到对浏览器的流量拦截,并对经过BurpSuite代理的流是数据进行处理

下面我们就分别看看IE、Firefox、手机端是如何配置BurpSuite代理的:

Firefox设置

Firefox是局部代理,使用其他浏览器不会被Bp抓包

设置——>常规——>网络设置

在这里插入图片描述

也可以下载插件,这种方式比较方便

在这里插入图片描述

Edge

设置——>系统和性能——>打开计算机的代理设置

在这里插入图片描述

在这里插入图片描述

---------------在Edge设置了代理,为什么谷歌浏览器也能进行抓包?

因为是在全局模式下设置的是系统代理,那么电脑经过的所有http协议都会被发送到bp里,

这也会导致我们抓到一些无用的包

手机抓包代理

首先要知道手机无法安装Bp,而且如果想通过连接电脑进行转发,但和电脑的网络也有物理隔离,那么该如何进行抓包呢?

先让手机和电脑在通一个网段,这样从网络层面上是互通的,打破了物理隔离,设置代理就能让手机的流量转发到电脑的IP地址上

1、手机和电脑接入同一个WIFI

查看电脑IP:ipconfig

在这里插入图片描述

查看手机IP:设置——>无线局域网——>找到当前连接的WIFI名称,然后点击它

2、在手机上进行代理设置

打开无线网络后,代理自动配置——>主机名要填写电脑的IP地址

在这里插入图片描述

3、在Burp上进行代理设置,与手机设置相同的代理地址

在这里插入图片描述

4、测试:用手机浏览器访问某个地址,看bp是否能抓到包

三、使用BurpSuite代理

Proxy基本使用

在这里插入图片描述

Intercept

Burp Proxy的拦截功能主要由Intercept选项卡中的 Forward、Drop、Intercept is on/off、Action(右键)、Highlight 构成,它们的功能分别是:

Forward:放包

Drop: 丢弃这个包

Intercept is on/off: 拦截开启/关闭

Action: 右键,有很多选项可以对包进行不同的处理

Highlight: 标注这个包,方便在大量的数据包中找到它

这里是给数据包做一个备注,也可以高亮显示,方便我们找到

在这里插入图片描述

HTTP history

默认情况下,Burp Proxy只拦截请求的消息,普通文件请求如css、js、图片是不会被拦截的(不承载业务逻辑,没必要拦截),你可以修改默认的拦截选项来拦截这些静态文件

所有流经BurpProxy的消息,都会在HTTP history记录下来,可以通过**【HTTP history】**选项卡,查看传输的数据内容,对交互的数据进行测试和验证。

Options
端口监听

在这里插入图片描述

具体讲解请看【四、SSL和Proxy高级选项中】的【Proxy监听设置】

拦截规则的一些配置项:

在这里插入图片描述

Add:添加新的规则

Edit/remove:编辑/移除某条规则

Up/Down:规则也是有优先级的,可以用Up和Down来调整优先级规则顺序

  • Automatically fix missing

    如果 Automatically fix missing被选中,则表示在一次消息传输中,BurpSuite会自动修复丢失或多余的新行。但会消耗一些性能,通常不勾选

  • Automatically update Conkent-Length

    如果 Automatically update Conkent-Length 被选中,则当请求消息被修改后,Content-Length也会自动被修改替换为与之相对应的值

服务端返回消息拦截

在这里插入图片描述

和上面一样

服务端返回消息修改

在这里插入图片描述

  • unhide hidden form fields

    显示form表单中的隐藏字段(在前端显示)

    在这里插入图片描述

    【隐藏字段】: 开发人员自己定义的比如:token

    【token的作用】:能防止你拿到对方账号密码进行登录

  • Enable disabled form fields

    高亮显示form表单中隐藏字段

    防止被爆破的措施:
    ☠️在一定次数的密码错误会被锁定
    ☠️图形验证码
    ☠️设置token
    # 不要仅通过前端页面进行判断是否能爆破,也要考虑数据包里面参数
    
  • Remove input field length hmits

    使form表单中的disable字段失效,变成可输入框

  • Remove JavaScript form valdation

    移除输入框的长度限制(一般不使用,直接在包里输入内容就行)

  • Remove al JavaScnpt

    移除JavaScript验证(让前端的JS代码失效)

  • Remove <object> tags

    移除标签

  • Cenvert HTTPS hinks to HTTP

    转换https超链接为http连接

  • Remove secure fiag from cookies

    移除所有cookie中的安全标志

正则表达式配置

是一个数学运算式,用来匹配文本中的一些关键字,有很多匹配语法

在这里插入图片描述

在请求体里只要有邮箱就替换成magedu@burpsuite.com

一定要勾选Regex match让正则表达式生效

HTTP history

HTTP history界面由过滤器、历史记录条件、消息详细3个部分组成

在这里插入图片描述

当我们在某一条历史记录上单击,会在下方的消息详解块显示此条消息的文本详细信息

我们可以点击对话框右上方的【Previous】、【Next】按钮,浏览上一条或下一条消息的内容,也可以修改Raw的请求参数,然后执行多种【Action】操作。

在这里插入图片描述

当我们点击HTTP history标签下的Filter时,将弹出筛选过滤器界面,过滤已有的请求包

在这里插入图片描述

按照过滤条件的不同,筛选过滤器划分出7个板块,分别是

按照请求类型过滤(Filler by request type)
  • Show only in-scope items

    仅显示当前作用域的包,没有定义作用域时默认空值,不显示任何东西添加作用域:Target——>Scope——>Add

  • Hide items without responses

    隐藏没有响应的数据包

    在这里插入图片描述

  • Show only parameteriz

    只显示有参数的请求

按照MIME类型过滤(Filler by MIME type)

想要哪个类型,把拦截勾上

按照响应状态码过滤(Filler by status code)

想要哪个响应状态码,勾选即可

按照查找条件过滤(Filler by search term)
  • Regex

    正则表达式

  • Case sensitive

    大小写敏感

  • Negative search

    否定查找,就是不要这个

按照文件类型过滤(Filler by file extension)
  • show only: [asp,aspx,jsp,php]
  • Hide: [js,gif,jpg,png,css]
按照注解过滤(Filler by annotation)
  • Show only commented items

    只显示备注过的数据包

  • Show only highlighted items

    只显示高亮的数据包

按照监听端口过滤(Filler by Listener)
  • port: [想要查看的端口号]

四、SSL和Proxy高级选项

在前面的章节,我们已经学习了HTTP消息如何通过Burp Proxy进行拦截和处理,本章我们将继续学习HTTPS协议消息的拦截和处理。

HTTPS协议是为了数据传输安全的需要,在HTTP原有的基础上,加入了安全套接字层SSL协议,通过CA证书来验证服务器的身份,并对通信消息进行加密。基于HTTPS协议这些特性,我们在使用BurpProxy代理时,需要增加更多的设置,才能拦截HTTPS的消息:

本章包含的主要内容有

  • CA证书的安装
  • CA证书的卸载
  • Proxy监听设置

我们都知道,在HTTPS通信过程中,一个很重要的介质是CA证书,下面就我们一起来看看BurpSuite中CA证书的安装。

CA证书的安装

浏览器访问http://burp,点击右上角下载CA证书

在这里插入图片描述

双击下载好的证书选择本地计算机,一直下一步

在这里插入图片描述

在浏览器里导入证书

设置——>隐私与安全——>查看证书

在这里插入图片描述

CA证书的卸载

火狐浏览器卸载CA证书

找到相关的证书删除就行了

在这里插入图片描述

本地卸载CA证书

win+R,输入mmc

在这里插入图片描述

调出控制台后,选择【添加/删除管理单元】

在这里插入图片描述

选择【证书】,点击添加

在这里插入图片描述

找到相关的证书进行删除,右击查看属性能查看到证书相关信息

在这里插入图片描述

在这里插入图片描述

Proxy监听设置

在这里插入图片描述

Proxy监听设置主要包含3块功能:

  1. Binding:指定监听的地址和端口

  2. Request handing:请求转发模块,控制接收到Burp Proxy监听端口的请求后,如何对请求进行转发

    在这里插入图片描述

    Burp的请求可以转发给另一个中间人(比如:Xray),再由另一个中间人转发给服务端
    
    #Burp和Xray联动的意义
    WAF会对用户的请求数据包做一个检测,检测肯定有时间限制,怎么绕过时间限制呢?
    💀burp抓到包后输入大量的脏数据转发给Xray,xray拿到带有脏数据的包先原样复制一份,在对这个包加入一些攻击代码然后转发给服务器
    💀再转发给服务器之前会先过WAF,因为前面加入了大量脏数据会消耗WAF的检测时间,从而检测不到后面的攻击代码
    

    实现过程,但是此方法只能在http里面实现

    💀浏览器代理:127.0.0.1:8080
    💀Xray开启监听

    在这里插入图片描述
    💀设置转发端口:127.0.0.1:7777
    在这里插入图片描述
    💀Burp抓包修改后通过点击【forward】转发给Xray

    如何在https里实现Burp的二次转发?

    💀Xray开启监听
    在这里插入图片描述
    💀Bp中点击【User options】——> 【Upstream Proxy Servers】——>【Add】
    在这里插入图片描述

  3. certificate:设置SSL证书,可以解决使用拦截代理时出现的一些SSL问题

五、Burp Target

主要包括站点地图、目标域、风险定义三部分组成

目标域Target

也叫作用域,限制站点地图和Proxy历史记录中的显示结果,有两种设置作用域方式:

在这里插入图片描述

  • 高级设置(use advanced scope contro)

    在添加规则时,我们可以从协议、域名或IP、端口、文件名4个部分去更加精细的控制哪些请求消息出现在包含或去除规则的列表中

在这里插入图片描述

站点地图 Site Map

基于爬虫功能实现,能够把一个站点可访问的目录以树形图的结构向我们展示出来

【开启爬虫功能】: Dashboards下的Live passive crawl from Proxy

在这里插入图片描述

同时,我们也可以将某个域直接加入Target Scope中

在这里插入图片描述

Target工具的使用

Target工具的使用主要包括以下部分:

🎈手工获取站点地图

在浏览器开启代理的情况下,手动点击几个网站

  • 好处是用户可以根据自己的需要和分析,自主控制访问内容,记录的信息比较准确但不够全面
  • 与自动抓取相比,则需要更长的时间,如果渗透的目标是一个大型系统,依次点击操作一遍则需要耗费大量的时间和经历

🎈站点比较

🎈攻击面分析

分析不够全面,因为他是基于手工获取站点的基础上进行分析的

  • 在【Site map】中右键单击【Engagement tools】下的【Analyze target】

  • 在弹出的分析界面中,我们能看到概况、动态URL、静态URL、参数4个视图

    概况试图:

    在这里插入图片描述

    动态URL试图带参数,静态URL试图没有参数

    在这里插入图片描述

    参数试图由上中下三部分组成

    在这里插入图片描述

  • 静态URL不值得测试,因为没有参数。同时,在实际使用中,存在很多站点使用伪静态,如果请求的URL中不带有参数,则分析时无法区别,只能当作静态URL来分析

    【伪静态】: 实际是动态URL,但伪装成静态的

六、Discover Conten

存在于Burp Target中的站点信息,我们可以直接发送到Burp Spider中进行站点信息的爬取。

在Burp1.7版本中,存在一个独立模块Burp Spider。而在Burp2.0版本后,该模块被整合至交互工具(Engagement tools)中,命名是Discover Content

这一章我们重点来学习Discover Content的使用,主要包含三个方面:

  • 控制(Control)
  • 配置(Config)
  • 站点地图(Site Map)

Discover Content 的功能主要适用于大型应用系统测试,它能在短时间内帮助我们快速地了解系统的结构和分布情况,下面我们就来看看


控制(Control)

Discover Content 控制界面由发现会话状态(Discovery Session Status)和排列任务(Queued Tasks)两部分组成

在这里插入图片描述


配置(Config)

Discover Content 配置界面由Target、Filenames、File Extensions、Discovery Engine四部分组成

  • Target(目标)

    Start directory:开始目录

    Discover:爬取对象的类型

    Recurse Subdirectories:递归子目录

在这里插入图片描述

  • Discovery Engine(发现引擎)

    这一项是用来对发起HTTP请求进行内容探测的引擎进行配置,保持默认即可

    在这里插入图片描述


站点地图(Site Map)

爬取完成后形成的站点地图,和Target模块中的站点地图类似,但没有Issues板块因为没有扫描功能

七、Burp Scan

这个模块的作用是扫描,可以用作web应用程序的扫描器,是Pro版独有的,社区版则不带有此功能

2.0版本以后,Burp取消Scanner模块,Scan功能集成在Dashboard(控制台)模块中

启动方法

1、Burp 控制台(Burp Dashboard):捕获按钮开启,实现被动爬取和审计

在这里插入图片描述

2、创建新扫描(New scan)

在这里插入图片描述

3、【Target/HTTP history】模块找到要扫描的站点地址右键单击【Scan】选项

在这里插入图片描述

被动扫描

在Dashboard控制台模块下,有关于爬虫和审计两个功能的设置:

  • Live passive crawl from Proxy:实时被动爬虫(探测路径)
  • Live audit from Proxy:实时审计(审计漏洞也就是扫描)
Burp被动扫描和Xray被动扫描的区别:
Burp不需要修改数据包,xray复制一份后会改包

主动扫描

会改包然后发送给目标站点进行扫描,原则上来说能够比被动扫描扫出来更多的问题

想通过Burp直接抓到服务端的漏洞通常来说是比较困难的

扫描配置
  • Scan details 扫描细节

    在这里插入图片描述

    • Use advanced scope control

      使用高级的范围控制,如果勾选,将配置 Included URLs(包含的URL)和Excluded URLs(不包含的URL)来配置扫描

  • Scan configuration 扫描配置:保持默认

  • Application login 应用登录:如果扫描过程中需要登录,用于配置 username 和 password(登陆后扫描结果更准确,但扫描过程不可控可能对业务造成伤害,通常不做配置)

  • Resource pool 资源池

    在这里插入图片描述

    Create new resource pool 创建新的资源池

    1.Name:自定义

    2.Maximum concurret requests:最大并发请求,默认配置为 10

    3.Delay between request:请求之间延时(容易被发现)

    4.add random variations:添加随机变化(降低扫描和被发现的风险)

    5.miliseconds:毫秒

开始扫描

1.点击New scan,在弹框中输入URL

在这里插入图片描述

2.Site map会展示该URL的目录结构

在这里插入图片描述

3.Dashboard会展示扫描的进度与问题总计

在这里插入图片描述

4.view details查看扫描细节

在这里插入图片描述


导出扫描报告

1.在Target->Site Map,选择某个URL,右侧Issues按ctrl+a全选,右键,点击Report selected issues

在这里插入图片描述

2.选择报告格式

  • HTML:生成HTML格式的报告,以便在浏览器中打印或查看
  • XML:生成XML格式的报告,适合导入其他工具或报告框架

3.选择漏洞明细包含内容(保持默认配置直接下一步)

在这里插入图片描述

4.请求消息和应答消息设置(保持默认配置)

在这里插入图片描述

5.选择报告包含哪些漏洞(全选)

在这里插入图片描述

6.指定报告存放位置、名称等属性

点击select file,选择路径,输入文件名称,例如:report.html,点击next,导出完成。(这一步记住,一定要加后缀名.html)

在这里插入图片描述

八、Burp Intruder

用来爆破

----------------------怎么看这个页面能不能爆破?-------------------------

常见的登录页面:
1、账号+密码
(1)测试有没有账号枚举
//账号枚举:根据网站不同的提示语判断这个账号是否存在。比如:猜测账号为admin显示账号或密码错误,猜测adjie显示用户不存在
(2)测试有没有锁定策略
(3)抓包看看是否有随机变化的参数,如果没有,则可以进行密码爆破

2、账号+密码+图形验证码
(1)测试有没有账号枚举
(2)测试有没有锁定策略
(3)测试图形验证的有效性,有效无法爆破,无效可以爆破
//判断图形验证码是前端校验还是后端校验
//有的图像验证码是不生效的:删除或者乱输都能登录成功

3、账号+密码+短信验证码
(1)测试有没有账号枚举
(2)测试有没有锁定策略
(3)测试是否存在短信轰炸漏洞
//发送短信网站需要向网络运营商付费,短信轰炸会消耗网站的金钱和服务性能
(4)测试短信验证码的有效性,如果5分钟之内可以反复使用,可以爆破
//在数据包里看到短信验证码参数,95%是真的发送到后端要校验的
//5分钟内有效的意思是:在5分钟内只能使用一次,使用后立马失效。我们要测的就是在5分钟内是否可以重复使用

Intruder使用场景和操作步骤

它的工作原理是:Intruder在原始请求数据的基础上,通过修改各种请求参数,以获取不同的应答,修改后的字符串就叫攻击载荷(payload)

Burp Intruder通常被用在以下场景:

  1. 标识符枚举:Web应用程序经常使用标识符来引用用户、账户、资产等数据信息。例如,用户名,文件ID和账户号码。

  2. 提取有用数据:在某些场景下,并非简单的识别有效标识符,而是需要通过识别标识符提取一些其他的数据。比如:通过单个用户的个人空间id,获取所有用户在个人空间的昵称和年龄。

  3. 模糊测试:很多输入型的漏洞,如SQL注入,跨站脚本和文件路径遍历等可以通过修改请求参数提交各种测试字符串,分析错误消息和其他异常情况,实现对应用程序的检测。由于应用程序的大小和复杂性,手动执行测试是一个耗时且繁琐的过程。这样的场景,可以通过设置Payload,让BurpIntruder自动化对Web应用程序进行模糊测(fuzzing)

通常来说,使用Burp Intruder进行测试,主要遵循以下步骤:

  1. 确认BurpSuite安装正确并正常启动,且完成了浏览器的代理设置

  2. 进入Burp Proxy选项卡,关闭代理拦截功能。

  3. 把想要测试的数据包单击右键,发送到Intruder

    在这里插入图片描述

  4. 进入 Intruder 选项卡,打开 Target 和 Positions 子选项卡。这时,你会看到上一步发送过来的请求消息

    在这里插入图片描述

  5. 默认情况下,Burp Intruder 会对请求参数和 Cookie 参数设置成 Payload position,前缀添加 $ 进行标识,如上图红色标注位置所示。当发送请求时,会将$标识的参数替换为 Payload

  6. 在Position界面的右边,有【Add $】、【Clear $】、【Auto $】、【Refresh】四个按钮

    【Auto $】:自动给参数值做个标识

    【Clear 】:清空标识 】:清空标识 】:清空标识

    【Add $】:给选中的参数添加标识

  7. 打开Payloads选项卡,默认情况下选择“Simple list",也可以通过下拉选择其他Payload类型或者手工添加。 接下来在Payload Options中加载字典,有三种方式:

    在这里插入图片描述

  8. 此时,我们再回到Position界面,检查一下要爆破的参数是否正确,确认无误后,在界面的右上角,点击【Start attack】,发起攻击

    在这里插入图片描述

  9. 此时,Burp会自动打开一个新的界面,包含攻击执行的情况、HTTP状态码、返回包长度等结果信息

    在这里插入图片描述

  10. 很多时候,为了更好的标明应答消息中是否包含有我们需要的信息,通常在进行攻击前,会进行Options选项的相关配置,使用最多的是正则表达式匹配(Grep - Match)

    我们可以根据【Length】返回的值来找到正确的密码。所有错误密码的返回包都是一样的,正确密码的返回包肯定与错误密码不一样,但这种方式不一定准确,要去手动登陆一次

    Grep-Match里可以添加welcome、true、success等标识来帮助我们找到正确的登录信息

    在这里插入图片描述

    在这里插入图片描述

  11. 同时,结果选项卡中所展示的列是可以进行指定的,在菜单Columns中进行设置

    在这里插入图片描述

  12. 最后,选择我们需要的列,点击【Save】按钮,对攻击结果进行保存

    在这里插入图片描述

Payload类型与处理

在Burp Intruder的Payload选项卡中,有Payload集合的设置选项,包含18种Payload类型,这里我们选取常用的类型进行讲解

在这里插入图片描述

  • 简单列表(Simple list)-- 最简单的Payload类型,可以手工添加字符串列表或从文件加载字符串列表。其设置界面如下图:

    在这里插入图片描述

  • 运行时文件(Runtime file)-- 选择文本文件加载进来,其设置界面如下图:

    在这里插入图片描述

  • 自定义迭代器(Custom iterator)-- 它共有8个占位,然后根据占位的多少,与每一个简单列表的Payload进行笛卡尔积(集合相乘的结果),生成最终Payload列表

  • 字符串替换(Character substitution)-- 对预定义的字符串进行替换后逐个生成新的字串

    在这里插入图片描述

    在这里插入图片描述

  • 大小写替换(Case modification)-- 对预定义的字符串,按照大小写规则进行替换

    No change(不改变,使用原始字符串)

    To lower case(转为小写字母)

    To upper case(转为大写字母)

    To Propername(首字母大写,其他小写)

    To ProperName(单词首字母大写,其他不改变)

  • 字符块(Character blocks)-- 使用一个给出的输入字符串,根据指定设置产生指定大小的字符块,表现形式为生成指定长度的字符串,也就是我们所说的脏数据,它通常是用来绕过应用防火墙(WAF)

    在这里插入图片描述

    Base string是指设置原始字符串,Min length是指Payload的最小长度,Max length是指Payload的最大长度,Step是指生成Payload时的步长。如上图的配置后,生成的Payload如下图所示:

    在这里插入图片描述

  • 数字类型(Number)-- 根据配置,生成一系列的数字作为Payload。它的设置界面如下:

    在这里插入图片描述

    From表示从什么数字开始,To表示到什么数字截止,Step表示步长是多少

  • 日期类型(Dates)-- 根据配置,生成一系列的日期

    在这里插入图片描述

  • 暴力字典(Brute forcer)-- 生成包含一个指定字符集的所有特定长度排列的有效载荷,通常用于枚举字典的生成,其设置界面如下:

    在这里插入图片描述

  • 空类型(Null payloads)-- 这种负载类型产生的Payload,其值是一个空字符串。在攻击时,如果需要同样的请求反复被执行,在不做任何修改原始请求的场景下此Payload是非常有用的。它可用于各种攻击,例如应用层DOS、保持活会话令牌、资源竞争、短信轰炸等。

    在这里插入图片描述

    在配置Payload生成方式时,它有两个选项,我们可以指定生成多少Payload(Generate),也可以设置为一直持续攻击(Continue indefinitely)

  • 字符扮演者(Character frobber)-- 这种类型的Payload的生成规律是:依次修改指定字符串在每个字符位置的值(不做特殊说明的情况下就是指十进制),每次都是在原字符上递增1个该字符的ASCII码。

    在这里插入图片描述

    执行后生成的Payload如下图所示:

    在这里插入图片描述

  • 用户名生成器(Username generator)-- 这种类型的Payload主要用于用户名和Email账号的自动生成,其设置界面如下图:

    在这里插入图片描述

    如上图所示,我设置了原始值为magedu,然后执行此Payload生成器,其生成的Payload值如图所示

    在这里插入图片描述

Payload攻击类型

  • 狙击手模式(Sniper)——只爆一个参数就选它

  • 攻城锤模式(Battering ram)——替换Payload位置上所有被 §标志的文本

  • 交叉模式(Pitchfork)——有个前提,每组Payload的字符相等

    在这里插入图片描述

  • 集束炸弹模式(Cluster bomb)——笛卡尔积的形式

可选项设置(Options)

请求头消息设置(Request Headers)

在这里插入图片描述

  • Update Content-Length header

    会在每个请求中添加或更新Content-Length作为该次请求的HTTP体长度参数的正确值

请求引擎设置(Request Engine)

在这里插入图片描述

Number of threads:并发线程数,默认5(测试时考虑目标网络的性能)

Number of retries on network failure:网络失败时候重试次数

Pause before retry:重试前的暂停时间间隔(毫秒)

Throttle between requests:请求延时(毫秒)

Start time:开始时间,启动攻击之后多久才开始执行

攻击结果设置(Attack Results)

在这里插入图片描述

Store requests / responses:保存请求/应答消息

Make unmodified baseline request:记录请求母板的消息内容

Use denial-of-service mode:使用DOS方式

Store full payloads:存储所有的Payload值

Grep Match

这个设置主要用来从响应消息中提取结果项,如果匹配,则在攻击结果中添加新列进行标明,便于排序和数据提取

在这里插入图片描述

重定向(Redirections)

这些设置主要是用来控制执行攻击时Burp如何处理重定向,在实际使用中往往是必须遵循重定向,才能实现你的攻击目的。例如,在密码猜测攻击,每次尝试的结果可能是密码错误会重定向响应到一个错误消息提示页面,如果密码正确会重定向到用户中心的首页

在这里插入图片描述

Intruder攻击和结果分析

可以通过【length】返回数据包的长度进行判断,也可以在【Grep Match】中自己定义一个关键字来判断。攻击结果的界面如下图所示:

在这里插入图片描述

从上图我们可以看出,其界面主要有菜单区、过滤区、消息记录区、请求/响应区四部分组成

  • 菜单区——包含Attack菜单、Save菜单、Columns菜单

    Attack菜单主要用来控制攻击行为的,可以暂停攻击(pause)、恢复攻击(pesume)、再次攻击(repeat)
    
    Save菜单主要用来保存攻击的各种数据:
    --Attack:保存当前攻击的副本,下次可以从此文件进行再次攻击;
    --Results table:保存攻击的结果列表,相当于图中的Payload执行结果消息记录区数据,当然你
    可以选择行和列进行保存,只导出你需要的数据;
    --Server responses:保存所有的服务器响应消息;
    --Attack configuration:保存当前的攻击配置信息。
    
    Columns菜单主要用来控制消息记录区的显示列,如果某个列被选中,则在Payload执行结果消息记录
    区显示,反之则不显示
    
  • 过滤区——可以通过查询条件、服务器响应的状态码、注释对消息记录区的信息进行过滤

    在这里插入图片描述

  • 消息记录区,又称结果列表(Results Table),记录Payload执行时请求和响应的所有信息

    在对攻击结果的分析中,你可以通过单击任一列标题(升序排序,降序排序和未排序)重新排序表的内容。有效的应答通常可以通过以下存在差异的内容进行判断:

    1、不同的HTTP状态代码
    2、不同长度的应答
    3、存在或不存在某些表达式
    4、错误或超时的发生
    5、用来接收或完成响应时间的差异
    

九、Burp Repeater

重放模块。通过Repeater模块可以对数据包进行反复的修改,以及查看修改后数据包的状态

可选项设置(Options)

与 Burp 其他模块的设置不同,Repeater的可选项设置菜单位于整个界面顶部的菜单栏中,如图所示:

在这里插入图片描述

其设置主要包括以下内容:

  • 更新(Update Content-Length) :控制Burp是否自动更新请求消息头中Content-Length
  • 解压和压缩(Unpack gzip / deflate):控制Burp是否自动解压或压缩服务端响应的内容
  • 跳转控制(Follow redirections) :控制Burp是否自动跟随服务端进行请求跳转,它有4个选项,分别是永不跳转(Never),站内跳转(On-site only)、目标域内跳转(In-scope only)、始终跳转(Always)。其中永不跳转、始终跳转比较好理解,站内跳转是指当前的同一站点内跳转,目标域跳转是指Target scope中配置的域可以跳转
  • 跳转中处理Cookie(Process cookies in redirections) :这个选项如果选中,则在跳转过程中设置的Cookie信息,将会被带到跳转指向的URL页面,可以进行提交(通常默认不勾选,除非你修改了cookie)
  • 视图控制(View) 这个选项是用来控制Repeater的视图布局
  • 其他操作(Action) 通过子菜单方式,指向Burp的其他工具组件中

十、Burp Decoder

作为BurpSuite中一款编码解码工具,它能对原始数据进行各种编码格式和散列的转换。其界面如下图,主要由输入域、输出域、编码解码选项三大部分组成

在这里插入图片描述

更重要的是,对于同一个数据,我们可以在Decoder的界面,进行多次编码解码的转换。如下图所示:

在这里插入图片描述

十一、Burp Comparer

用来对比两个数据包之间有什么不同

先抓取两个不同的数据包发送得到【Comparer】模块

在这里插入图片描述

如果点击了【words】或者【bytes】,则进入比对界面,页面自动通过背景颜色显示数据的差异。如下图

在这里插入图片描述

其中,文本比较(words)是指通过文本的方式,比如说以HTML的方式,比较两次内容的差异;而字节比较(bytes)是指通过16进制的形式,比较两次内容的差异。如下图,注意不同内容的颜色标注。

在这里插入图片描述

十二、Burp应用商店

BurpSuite 提供了支持第三方拓展插件的功能,方便使用者编写自定义插件或从插件商店中安装拓展插件

应用商店插件的安装使用

【Extender】面板中,有一个BApp Store模块,这就是Burp的应用商店,内容是提供各种Burp的插件。默认情况下,当你点击【BApp Store】模块时,界面列表会显示插件明细

在虚拟机中则需要在【Options】->【Connections】->【Upstream Proxy Servers】进行设置,具体如下图所示:

在这里插入图片描述

其中代理服务器的host和port为你本地的网络环境访问外网的代理主机和端口。如果你的网络设置没有问题,则应用商店的界面显示大体如下:

在这里插入图片描述

从图中我们可以看出,左边为各个插件的应用列表,当选中某个插件后,右侧显示的为该插件的描述信息和安装信息。如果我们需要使用某个插件,则点击右侧下方的【install】按钮,进行安装

在这里插入图片描述

此时,安装按钮置为灰色,同时显示为【installing】,右下角也显示安装中,如上图。安装完成后,界面会显示重新安装【Reinstall】和插件评分按钮【Submit rating】,作为插件商店的用户推荐。

在这里插入图片描述

安装完毕后,在Burp Extender的Extensions页面中,会自动显示已加载的插件列表。通过插件列表的管理,我们可以对插件进行后期的维护

在这里插入图片描述

当然,除了从应用商店自动安装插件外,我们也可以下载插件,进行手工安装。如下图:

在这里插入图片描述

当我们点击图中1处的手工安装按钮,则弹出插件安装文件存储的盘符,选择指定的插件文件,点击打开即可进行安装


扩展知识点:

网站不安全的根本原因:相信了用户的输入

对网站的测试是对服务端的请求包里进行测试,所有在响应端里进行测试,即使浏览器做出了一些回显,但也不算是漏洞,因为没有经过服务端

  • 36
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要下载和安装Burp Suite,你可以按照以下步骤进行操作: 1. 打开你的浏览器,访问Burp Suite的官方网站:https://portswigger.net/burp。 2. 在官方网站的主页上,你会看到一个"Get Started with Burp Suite"的按钮。点击这个按钮。 3. 你会看到两个版本的Burp Suite:Community Edition(免费版)和Professional Edition(专业版)。点击"Download Community Edition"按钮,以获取免费版。 4. 下载完成后,找到下载文件并双击打开。根据你的操作系统选择正确的安装程序。 5. 在安装过程中,你可以选择自定义安装位置,也可以保持默认设置。根据你的需求进行选择,并点击"Next"按钮。 6. 接下来,你需要阅读并接受许可协议。勾选"我接受许可协议"选项,并点击"Next"按钮。 7. 在接下来的步骤中,你可以选择创建一个桌面快捷方式和开始菜单项。根据你的需求进行选择,并点击"Next"按钮。 8. 点击"Install"按钮开始安装过程。 9. 安装完成后,将会显示一个"Installation Complete"界面。确保勾选"Launch Burp Suite Community Edition"选项,并点击"Finish"按钮。 10. Burp Suite将会启动,并打开一个欢迎界面。在这里,你可以选择导入或创建一个新的项目。如果你是初学者,可以选择导入一些演示项目进行学习。 恭喜!你已经成功下载和安装了Burp Suite。现在你可以开始学习和使用这个强大的渗透测试工具了!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值