Burp Suite是一个集成化的渗透工具,它集合了多种渗透测试组件,使我们自动化地或手工地能更好的完成对web应用的渗透测试和攻击。
Burp Suite是Java语言编写而成,而Java自身的跨平台性,使得软件的学习和使用更加方便。
专业版和免费版的主要区别有
1、Burp Scanner模块
2、工作空间的保存和恢复
3、拓展工具,如Target Analyzer,Content Discovery和Task Scheduler
Burp Suit是由Java编写的,因此我们需要先配置Java环境。
工作原理
Burp Suite代理工具是以拦截代理的方式,拦截所有通过代理的网络流量,如客户端的请求数据、服务器端的返回信息等。
Burp Suit主要拦截http和https协议的流量,通过拦截,Burp Suite以中间人的方式,可以对客户端请求数据、服务端返回各种处理,以达到安全评估测试的目的。
在日常工作中,我们最常用的web客户端就是web浏览器,我们可以同过代理的设置,做到对web浏览器的流量拦截,并对经过Burp Suite代理的流量数据进行处理。
Proxy模块(代理模块)
Proxy模块是Burp Suite的开展测试的核心模,通过代理模式,可以让我们拦截、查看、修改所有在客户端和服务端之间传输的数据。
spider模块(蜘蛛爬虫)
spider的蜘蛛爬虫可以帮我们快速了解站点目录架构,它的爬行结果会展示在Targrt中展示,该模块可以用于被动信息收集。
Scanner模块(漏洞扫描)
Burp scanner的功能主要是用来自动检测web系统的各种漏洞,我们可以使用Burp scanner代替我们手工去对系统进行普通漏洞类型的渗透测试,从而能使得我们把更多的精力放在那些必须要人工去验证的漏洞上,它的扫描方式主要有两种:主动扫描和被动扫描。
标识符枚举
web应用程序经常 使用标识符来引用用户、账户、资产等数据信息。例如,用户名,文件ID和账户号码。
提取有用的数据
在某些场景下,而不是简单地识别效标识符,你需要通过简单标识符提取一些其他的数据。比如说,你想通过用户的个人空间id,获取所有用户在个人空间标准的昵称和年龄。
模糊测试
很多输入型的漏洞,如SQL注入,跨站点脚本和文件路径遍历可以通过请求参数提交各种测试字符串,并分析错误消息和其他异常情况,来对应用程序进行检测。由于应用程序的大小和复杂性,手动执行这个测试是一个耗时且繁琐的过程。这样的场景,您可以设置Payload,通过Burp Intruder自动化地对Web应用程序进行模糊测试。
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。
用于检测数据样本随机性质量的工具,通常用于检测访问令牌是否可预测、密码重置令牌是否可预测等场景,通过Sequecer的数据样本分析,能很好地降低这些关键数据被伪造的风险。
Burp Decoder的功能比较简单,作为Burp Suite中一款编码工具,它能对原始数据进行各种编码格式和散列的转换。主要由输入域、输出域、编码解码选项三大部分组成。
分析两次数据之间的区别
1、枚举用户名过程中,对比分析登录和失败时,服务器端反馈结果的分别。
2、使用Intruder进行攻击时,对于不同的服务器端响应,可以很快的分析出两次响应的区别在哪里。
3、进行SQL注入的盲注测试时,比较两次响应消息的差异,判断响应结果与注入条件的关联关系。