当前位置: 首页 > 工具软件 > Burp > 使用案例 >

Burp Suite

越狐若
2023-12-01

Burp Suite简介

Burp Suite是一个集成化的渗透工具,它集合了多种渗透测试组件,使我们自动化地或手工地能更好的完成对web应用的渗透测试和攻击。
Burp Suite是Java语言编写而成,而Java自身的跨平台性,使得软件的学习和使用更加方便。
专业版和免费版的主要区别有
1、Burp Scanner模块
2、工作空间的保存和恢复
3、拓展工具,如Target Analyzer,Content Discovery和Task Scheduler

Burp Suite配置

Burp Suit是由Java编写的,因此我们需要先配置Java环境。
工作原理
Burp Suite代理工具是以拦截代理的方式,拦截所有通过代理的网络流量,如客户端的请求数据、服务器端的返回信息等。
Burp Suit主要拦截http和https协议的流量,通过拦截,Burp Suite以中间人的方式,可以对客户端请求数据、服务端返回各种处理,以达到安全评估测试的目的。
在日常工作中,我们最常用的web客户端就是web浏览器,我们可以同过代理的设置,做到对web浏览器的流量拦截,并对经过Burp Suite代理的流量数据进行处理。

Burp Suite默认的代理地址

Proxy模块(代理模块)
Proxy模块是Burp Suite的开展测试的核心模,通过代理模式,可以让我们拦截、查看、修改所有在客户端和服务端之间传输的数据。
spider模块(蜘蛛爬虫)
spider的蜘蛛爬虫可以帮我们快速了解站点目录架构,它的爬行结果会展示在Targrt中展示,该模块可以用于被动信息收集。
Scanner模块(漏洞扫描)
Burp scanner的功能主要是用来自动检测web系统的各种漏洞,我们可以使用Burp scanner代替我们手工去对系统进行普通漏洞类型的渗透测试,从而能使得我们把更多的精力放在那些必须要人工去验证的漏洞上,它的扫描方式主要有两种:主动扫描和被动扫描。

  • 主要扫描(Active Scanning)
    当使用主动扫描模式时,Burp会向应用发送新的请求并通过Payload验证漏洞。这种模式下的操作,会产生大量的请求和应答数据,直接影响系统的性能,通常使用在非生产环境。
    它对下列的两类漏洞有很好的扫描效果:
    1、客户端的漏洞,像XSS、HTTP头注入,操作重方向;
    2、服务端的漏洞,像SQL注入、命令行注入、文件遍历;
    对于第一类漏洞、BURP在检测时,会提交一下input域,然后根据应答的数据进行解析。在检测过程中,BURP会对基础的请求信息进行修改,即根据漏洞的特征对参数进行修改,模拟人的行为,以达到检测漏洞的目的。
    对于第二类漏洞,一般来说检测比较困难,因为是发生在服务器侧。比如说SQL注入,有可能是返回数据库错误提示信息,也有可能是什么也不反馈。Burp在检测过程中,采用各个技术来验证过程中,采用各个技术来验证漏洞是否存在,比如诱导时间延迟,强制修改Boolean值,与模糊测试的结果进行比较,已达到高准确性的漏洞扫描报告。
  • 被动扫描(Passive Scanning)
    当使用被动扫描模式时,Burp不会重新发送新的请求,它只是对已经存在的请求和应答进行分析,这对系统的检测比较安全,尤其在你授权访问的许可下进行的,通常适用于生成环境的检测。
    虽然被动扫描模式相比于主动模式有很多的不足,但同时也具有主动模式不具备的优点,除了前文说的对系统的检测在我们授权的范围内比较安全外,当某种业务场景的测试,每测试一次都会导致业务的某当面问题时,我们也可以使用被动扫描模式,去验证问题是否存在,减少测试的风险。
    Intruder模块(枚举模块)
    Burp Intruder作为Burp Suite中一款功能及其强大的自动化检测工具,通常被系统安全检测渗透测试人员被使用在各种任务测试的场景中。
    工作原理是:Intrude在原始请求数据的基础上,通过修改各种请求参数,以获取不同的请求应答。每一次请求中,Intruder通常会携带一个或多个有效攻击载荷(Payload),在不同的位置进行攻击重放,通过应答数据的比对分析来获得需要的特征数据。

常用的应用场景

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

Intruder模块(枚举模块)

Burp Intruder支持使用Payload进行多种方式的模拟攻击,目前只要以下4种:
狙击手模式(Sniper): 它使用一组Payload,一次替换Payload位置上(一次攻击只能使用一个Payload位置)
攻城锤模式(Battering ram):使用单一的Payload集合,依次替换Payload位置上。与狙击手模式的区别在于,如果有多个参数且都为Payload位置标志时,使用Payload值是相同的,而狙击手模式只能使用一个Payload位置标志。
草叉模式(Pitchfork):它可以使用多组Payload集合,在每个不同的Payload标志位置上(最多20个),遍历所有的Payload。举例来说,如果有两个Payload标志位置,第一个Payload值为A和B,第二个Payload值为C和D,则发起攻击时,将共发起两次攻击,第一次使用的Payload分别为A和C,第二次使用的Payload分别为B和D。
集束炸弹模式(Cluster bomb):它可以使用多组Payload集合,在每个不同的Payload标志位置上(最多20个),依次遍历所有的Payload。举例来说,如果有两个Payload标志位置,第一个Payload值为A和B,第二个Payload值为C和D,则发起攻击时,将共发起四次攻击,第一次使用的Payload分别为A和C,第二次使用的Payload分别为A和D,第三次使用的Payload分别为B和C,第四次使用的Payload分别为B和D。

sequencer

用于检测数据样本随机性质量的工具,通常用于检测访问令牌是否可预测、密码重置令牌是否可预测等场景,通过Sequecer的数据样本分析,能很好地降低这些关键数据被伪造的风险。

Decoder

Burp Decoder的功能比较简单,作为Burp Suite中一款编码工具,它能对原始数据进行各种编码格式和散列的转换。主要由输入域、输出域、编码解码选项三大部分组成。

Comparer(对比器)

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

Extender(模块新增)

 类似资料:

相关阅读

相关文章

相关问答