1、Scanner

Burp Scanner主要用于自动检测Web系统的各种漏洞。

首先,确认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开始扫描。

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

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

Burp Scanner有主动扫描和被动扫描。

(1)主动扫描

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

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

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

(2)被动扫描

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

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

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

2、Intruder

Intruder是一个定制的高度的可配置的工具,可以对web应用程序进行自动化攻击,如通过标识符枚举用户名、ID和账户号码、模糊测试、SQL注入、跨站、目录遍历等。

它的工作原理是Intruder在原始数据的基础上,通过修改各种请求参数获取不同的请求应答。在每一次请求中,Intruder通常会携带一个或多个有效攻击载荷(Payload),在不同的位置进行攻击重放,通过应答数据的比对分析获得需要的特征数据。Burp Intruder通常被应用于以下场景。

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

利用Intruder爆破无验证码和次数限制的网站的方法。前提是你得有比较好的字典。注意,Burp suite的文件不要放在中文的路径下。

首先将数据包发送到Intrude模块中

Burp会自动对某些参数进行标记,这里先点击clear$按钮清除所有标记

然后选择要进行暴力破解的参数值,将pass参数选中,单击add$按钮,只对一个参数进暴力破解,所以攻击类型选择sniper即可,这里需要注意的是,如果要同时对用户名和密码进行破解,可以同时选中user和pass参数,并且选择交叉式cluster bomb模式进行破解。

  • 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数量的乘积。

选中password参数

选择字典

开始爆破并等待爆破结束。

查看status或length的返回值进行排序,查看是否有不同之处。如果有,查看返回包是否显示为登陆成功,如果返回的数据包中有明显的登陆成功的信息,则说明已经破解成功。

3、Repeater

Burp Repeater是一个手动修改、补发个别HTTP请求,并分析它们的响应的工具。它最大的用途就是能和其它Burp Suite工具结合起来使用。可以将目标站点地图、Burp Proxy浏览记录、Burp Intruder的攻击结果,发送到Repeater上,并手动调整这个请求来对漏洞的探测或攻击进行微调。

Repeater分析选项有4种:Raw、Parans、Headers和Hex。

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

在渗透测试过程中,我们经常使用Repeater进行请求与响应的消息验证分析。

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

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

4、Comparer

Burp Comparer在Burp suite中主要提供一个可视化的差异对比功能,来对比分析两次数据之间的区别,使用到的场合有:

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

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

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

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

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

5、Sequencer

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

Burp Sequencer主要由信息截取(Live Capture)、手动加载(Manual Load)和选项分析(Analysis Options)三个模块组成。

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

Burp Suite进阶的更多相关文章

  1. Burp Suite新手指南

    Burp Suite想必大家都用过,但是大家未必知道它的所有功能.因此,本文的主要目的就是尽量深入介绍各种功能.BurpSuite有以下这些功能: 截获代理– 让你审查修改浏览器和目标应用间的流量. ...

  2. Burp Suite使用详解一

    本文由阿德马翻译自国外网站,请尊重劳动成果,转载注明出处 Burp Suite是Web应用程序测试的最佳工具之一,其多种功能可以帮我们执行各种任务.请求的拦截和修改,扫描web应用程序漏洞,以暴力破解 ...

  3. Burp Suite 使用教程(上传突破利器)

    Burp Suite是一个免费的网站攻击工具. 它包括proxy.spider.intruder.repeater四项功能.该程序使用Java写成,需要 JRE 1.4 以上版本 下载该程序的源代码, ...

  4. 初识 Burp Suite

           Burp Suite 是用于攻击web 应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程. 所有的工具都共享一个能处理并显示HTTP 消息, ...

  5. 安卓APP测试之使用Burp Suite实现HTTPS抓包方法

    APP的测试重点小部分在APP本身,大部分还是在网络通信上(单机版除外).所以在安卓APP测试过程中,网络抓包非常重要,一般来说,app开发会采用HTTP协议.Websocket.socket协议,一 ...

  6. burp suite 使用教程详解(外文翻译转)

    Burp Suite是Web应用程序测试的最佳工具之一,其多种功能可以帮我们执行各种任务.请求的拦截和修改,扫描web应用程序漏洞,以暴力破解登陆表单,执行会话令牌等多种的随机性检查.本文将做一个Bu ...

  7. Burp Suite使用

    Burp Suite是Web应用程序测试的最佳工具之一,其多种功能可以帮我们执行各种任务.请求的拦截和修改,扫描web应用程序漏洞,以暴力破解登陆表单,执行会话令牌等多种的随机性检查.本文将做一个Bu ...

  8. Burp Suite安装及详细使用教程-Intruder模块详解

    01 介绍 安装要求: Java 的V1.5 + 安装( 推荐使用最新的JRE ), 可从这里免费 http://java.sun.com/j2se/downloads.html Burp Suite ...

  9. Burp Suite使用介绍

    Burp Suite使用介绍(一)  22人收藏 收藏 2014/05/01 19:54 | 小乐天 | 工具收集 | 占个座先 Getting Started Burp Suite 是用于攻击web ...

  10. Burp Suite详细使用教程

    Burp Suite详细使用教程-Intruder模块详解 最近迷上了burp suite 这个安全工具,百度了关于这个工具的教程还卖900rmb...ohno.本来准备买滴,但是大牛太高傲了,所以没 ...

随机推荐

  1. 9. Fluentd部署:日志

    Fluentd是用来处理其他系统产生的日志的,它本身也会产生一些运行时日志.Fluentd包含两个日志层:全局日志和插件级日志.每个层次的日志都可以进行单独配置. 日志级别 Fluentd的日志包含6 ...

  2. Opengl ES之纹理贴图

    纹理可以理解为一个二维数组,它可以存储大量的数据,这些数据可以发送到着色器上.一般情况下我们所说的纹理是表示一副2D图,此时纹理存储的数据就是这个图的像素数据. 所谓的纹理贴图,就是使用Opengl将 ...

  3. nsis制作新版迅雷安装界面

    终于搞出来一点名堂,不借用皮肤插件,圆角,无标题栏拖动,渐隐渐显,纯nsis代码编写,相似度大概也有95%以上了. 演示程序下载

  4. 整理一些Windows桌面运维常用的命令,并且整合成脚本

    github地址:alittlemc/toy: 编写些脚本将运维经常所用到小玩意所集成在一起 (github.com) 持续更新! 前言 做过桌面运维的大佬们应该可以很明显感受到这份工作所需要的技能不 ...

  5. Go实现优雅关机与平滑重启

    前言 优雅关机就是服务端关机命令发出后不是立即关机,而是等待当前还在处理的请求全部处理完毕后再退出程序,是一种对客户端友好的关机方式.而执行Ctrl+C关闭服务端时,会强制结束进程导致正在访问的请求出 ...

  6. P7114 [NOIP2020] 字符串匹配 (字符串hash+树状数组)

    好多题解用的扩展KMP(没学过,所以不用这种方法). 我们按照题目要求记F(s)表示s串的权值,可以预处理出前缀权值(用于A)和后缀权值(用于C),枚举AB的长度i=2~n-1,不需要分开枚举,我们只 ...

  7. 浅谈-动态路由之OSPF的理解

    路由 在网络中,路由相当于就是一张地图,让路由器知道这个对应的IP数据包应该往哪端口.网段走:而这个"地图"我们称之为路由表,不同的目的IP路由表的下一个跳也不同,其生成方式有又有 ...

  8. Linux实战笔记__Centos7上搭建DVWA网站(基于宝塔)

    安装宝塔套件 宝塔官网有远程安装代码https://www.bt.cn/bbs/thread-19376-1-1.html 下载DVWA并上传至/www/wwwroot目录 下载地址: 配置数据库连接 ...

  9. 动词时态=>1.动作的时间和状态

    时态 什么是时态? 英语的时态,是由动作的时间 + 动作的状态:这俩一起构成了时态 动词的时间和状态在一起,合称时态 理论上的十六种时态 先将 时间和状态的概念搞清楚,再具体讨论,用什么词,去构成时态 ...

  10. element-ui el-table 高度自适应

    element-ui  el-table 高度自适应 <div ref="searchHeader" class="div_search search_title& ...