Burpsuite

一、简介

BurpSuite (简称Burp) 是基于Java开发的Web安全领域的集成工具,被称为信息安全界的瑞士军刀,它包含ProxyIntruderRepeaterDecoderComparer等多个模块,模块间通过共享相互传递HTTP/HTTPS消息数据包。

二、功能模块

1.Target

显示目标目录结构

2.Proxy

Proxy以拦截代理的方式,拦截所有通过代理的HTTP和HTTPS协议的流量。通过拦截,BurpSuite以中间人的方式,可以对客户端请求数据、服务端返回做各种处理,以达到安全评估测试的目的。

3.Intruder

​ Intruder在原始请求数据的基础上,通过修改各种请求参数,以获取不同的请求应答。每一次请求中,Intruder通常会携带一个或多个有效攻击载荷,在不同的位置进行攻击重放,通过应答数据的比对分析来获得需要的特征数据。

3.1 Intruder模块的常见应用场景

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

3.2 攻击模式

  • 狙击手模式(Sniper):单payload位置,单payload集合,简单替换,若有多个payload位置,则会在每一个位置上遍历一次payload集合
  • 攻城锤模式(Battering ram):多payload位置,单payload集合,在多个位置上使用相同的payload
  • 草叉模式(Pitchfork):多payload位置,多payload集合,在每个payload位置上遍历对应的payload集合,攻击次数为最短的payload集合的元素个数
  • 集束炸弹模式(Cluster bomb):多payload位置,多payload集合,以多个payload集合的笛卡尔积作为攻击序列。如第一个位置的payload集合是{A,B},第二格位置的payload集合是{C,D},则攻击序列为

3.3 payload类型(共18种)

  • 简单列表(Simple list)

    最简单的payload类型,配置一个字符串列表作为payload,也可以手工添加字符串列表或从文件加载字符串列表。

  • 运行时文件(Runtime file)

    指定文件,作为相对应payload位置上的payload列表。

  • 自定义迭代器(Custom iterator)

    它共有8个占位,每个占位可以定义一个简单列表,最终所使用的payload为每一个占位的简单列表的笛卡儿积。

  • 字符串替换(Character substitution)

    对预定义的字符串进行“枚举替换”后生成新的payload。

  • 递归提取(Recursive grep)

    • 从服务器端提取有效数据的场景,需要先从服务器的响应中提取数据作为payload,然后替换payload的位置,进行攻击。

    • 递归的配置需要进入Options->Grep-Extract进行配置;使用Recursivegrep模式时,线程数必须为1

  • 字符块(Character blocks)

    使用一个给出的输入字符串,根据指定的设置产生指定大小的字符块,表现形式为生成指定长度的字符串

  • 数字类型(Number)

    根据配置,生成一系列的数字作为payload

  • 日期类型(Dates)

    根据配置,生成一系列的日期

  • 暴力字典(Brute forcer)

    生成包含一个指定的字符集的所有排列特定长度的有效载荷,通常用于枚举字典的生成

  • 空类型(Nul payloads)

    产生的payload其值是一个空字符串

  • payload复制(Copy other payload)

    这种类型的payload是将其他位置的参数复制到payload位置上

4.Repeater

​ 作为BurpSuite中一款手工验证HTTP消息的测试工具,Repeater通常用于多次重放请求响应手工修改请求消息修改后对服务器端响应的消息分析,如:

  • 修改请求参数,验证输入的漏洞
  • 修改请求参数,验证逻辑越权
  • 从拦截历史记录中,捕获特征性的请求消息进行请求重放

5.Sequencer

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

6.Decoder

​ 作为BurpSuite中一款编码解码工具,Decoder的功能比较简单,它能对原始数据进行各种编码格式和散列的转换。

7.Comparer

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

三、插件

​ Burpsuite可以使用三种语言编写的扩展插件,JavaPythonRuby。除Java外,其它两种需要的扩展插件需要配置运行环境。

posted @ 2024-07-28 10:02  pppppx  阅读(205)  评论(0)    收藏  举报