Burp Suite介绍
Getting Started
Burp Suite 是用于攻击web 应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架。本文主要介绍它的以下特点:
Target(目标)——显示目标目录结构的的一个功能
Proxy(代理)——拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。
Spider(蜘蛛)——应用智能感应的网络爬虫,它能完整的枚举应用程序的内容和功能。
Scanner(扫描器)——高级工具,执行后,它能自动地发现web 应用程序的安全漏洞。
Intruder(入侵)——一个定制的高度可配置的工具,对web应用程序进行自动化攻击,如:枚举标识符,收集有用的数据,以及使用fuzzing 技术探测常规漏洞。
Repeater(中继器)——一个靠手动操作来触发单独的HTTP 请求,并分析应用程序响应的工具。
Sequencer(会话)——用来分析那些不可预知的应用程序会话令牌和重要数据项的随机性的工具。
Decoder(解码器)——进行手动执行或对应用程序数据者智能解码编码的工具。
Comparer(对比)——通常是通过一些相关的请求和响应得到两项数据的一个可视化的“差异”。
Extender(扩展)——可以让你加载Burp Suite的扩展,使用你自己的或第三方代码来扩展Burp Suit的功能。
Options(设置)——对Burp Suite的一些设置
测试工作流程
Burp支持手动的Web应用程序测试的活动。它可以让你有效地结合手动和自动化技术,使您可以完全控制所有的BurpSuite执行的行动,并提供有关您所测试的应用程序的详细信息和分析。
简要分析
代理工具可以说是Burp Suite测试流程的一个心脏,它可以让你通过浏览器来浏览应用程序来捕获所有相关信息,并让您轻松地开始进一步行动,在一个典型的测试中,侦察和分析阶段包括以下任务:
手动映射应用程序-使用浏览器通过BurpSuite代理工作,手动映射应用程序通过以下链接,提交表单,并通过多步骤的过程加强。这个过程将填充代理的历史和目标站点地图与所有请求的内容,通过被动蜘蛛将添加到站点地图,可以从应用程序的响应来推断任何进一步的内容(通过链接、表单等)。也可以请求任何未经请求的站点(在站点地图中以灰色显示的),并使用浏览器请求这些。
在必要是执行自动映射-您可以使用BurpSuite自动映射过程中的各种方法。可以进行自动蜘蛛爬行,要求在站点地图未经请求的站点。请务必在使用这个工具之前,检查所有的蜘蛛爬行设置。
使用内容查找功能发现,可以让您浏览或蜘蛛爬行可见的内容链接以进一步的操作。
使用BurpSuite Intruder(入侵者)通过共同文件和目录列表执行自定义的发现,循环,并确定命中。
注意,在执行任何自动操作之前,可能有必要更新的BurpSuite的配置的各个方面,诸如目标的范围和会话处理。
分析应用程序的攻击面 - 映射应用程序的过程中填入代理服务器的历史和目标站点地图与所有的BurpSuite已抓获有关应用程序的信息。这两个库中包含的功能来帮助您分析它们所包含的信息,并评估受攻击面的应用程序公开。此外,您可以使用BurpSuite的目标分析器报告的攻击面的程度和不同类型的应用程序使用的URL 。
Burp Suite功能按钮键翻译对照
Proxy功能
Burp Proxy相当于BurpSuite的心脏,通过拦截,查看和修改所有的请求和响应您的浏览器与目标Web服务器之间传递。
Using BurpProxy http、https
http
设置代理的方法:以http ie为例:
工具>>Internet选项>>连接>>局域网>>勾选代理服务器填写地址127.0.0.1端口8080
这里端口可以随便定义但是要跟burp的监听端口要一致然后保存再到Proxy的Options中添加add
这样就代表拦截成功,我们可以右击send to Repeater去修改数据再发送,也可以右击改变提交请求方式(change request method)比如get或者post等功能
https
以管理员权限运行ie浏览器
像http那样配置好代理
在地址栏访问https地址,单击继续
点击错误证书在这个地址栏
点击查看证书
在证书路径选项卡点击PortSwigger CA,然后再点击查看证书
在常规选项卡里点击安装证书
在证书导入向导中,选择“将所有的证书放入下列存储区”
点击浏览
以当前用户或者本机计算机都可以
点击ok完成导入
Intercept
用于显示和修改HTTP请求和响应,通过你的浏览器和Web服务器之间。在BurpProxy的选项中,您可以配置拦截规则来确定请求是什么和响应被拦截(例如,范围内的项目,与特定文件扩展名,项目要求与参数,等)。 该面板还包含以下控制:
Forward
当你编辑信息之后,发送信息到服务器或浏览器
Drop
当你不想要发送这次信息可以点击drop放弃这个拦截信息
Interception is on/off
这个按钮用来切换和关闭所有拦截。如果按钮显示Interception is On,表示请求和响应将被拦截或自动转发根据配置的拦截规则配置代理选项。如果按钮显示Interception is off则显示拦截之后的所有信息将自动转发。
Action
说明一个菜单可用的动作行为操作可以有哪些操作功能。
Comment field
为请求或响应添加注释,以便更容易在History选项卡中识别它们。
Highlight
为请求或响应添加颜色,可以在history选项卡和截获中更容易发现。
History Table
表中显示已通过代理HTTP消息的所有请求,并且可以查看完整的你所做的任何修改和截获的信息的请求和响应。 表中包含以下字段:
Host(主机)、Method(请求方式)、URL(请求地址)、Params(参数)、Edited(编辑)、Status(状态)、Length(响应字节长度)、MIME type(响应的MLME类型)、Extension(地址文件扩展名)、Title(页面标题)、Comment(注释)、SSL、IP(目标IP地址)、Cookies、Time(发出请求时间)、Listener port(监听端口)。
可以通过单击任何列标题进行升序或降序排列。如果您在表中双击选择一个项目地址,会显示出一个详细的请求和响应的窗口。或者右击选择 Show new history window
Display Filter
Proxy histroy有一个可以用来在视图中隐藏某些内容的功能,以使其更易于分析和你感兴趣的工作内容的显示过滤。 History Table上方的过滤栏描述了当前的显示过滤器。点击过滤器栏打开要编辑的过滤器选项。该过滤器可以基于以下属性进行配置:
Match and Replace
用于自动替换请求和响应通过代理的部分。对于每一个HTTP消息,已启用的匹配和替换规则依次执行,以及任何适用的替代品制成。规则可以分别被定义为请求和响应,对于消息头和身体,并且还特别为只请求的第一行。每个规则可以指定一个文字字符串或正则表达式来匹配,和一个字符串来替换它。对于邮件头,如果匹配条件,整个头和替换字符串匹配留空,然后头被删除。如果指定一个空的匹配表达式,然后替换字符串将被添加为一个新的头。有可协助常见任务的各种缺省规则 - 这些都是默认为禁用。 匹配多行区域。您可以使用标准的正则表达式语法来匹配邮件正文的多行区域。
在替换字符串,组可以使用其次为索引$引用。所以下面的替换字符串将包含被匹配在上述正则表达式,该标记的名称:
Target功能
目标工具包含了SiteMap,用你的目标应用程序的详细信息。它可以让你定义哪些对象在范围上为你目前的工作,也可以让你手动测试漏洞的过程。
Using Burp Target
这样看起来site map是不是很乱,则可以右击add to scope,然后点击Filter勾选Show only in-scope items,此时你再回头看Site map就只有百度一个地址了,这里filter可以过滤一些参数,show all显示全部,hide隐藏所有,如果勾选了表示不过滤
Scope
Target Information
SiteMap会在目标中以树形和表形式显示,并且还可以查看完整的请求和响应。树视图包含内容的分层表示,随着细分为地址,目录,文件和参数化请求的URL 。您还可以扩大有趣的分支才能看到进一步的细节。如果您选择树的一个或多个部分,在所有子分支所选择的项目和项目都显示在表视图。
该表视图显示有关每个项目(URL , HTTP状态代码,网页标题等)的关键细节。您可以根据任意列进行排序表(单击列标题来循环升序排序,降序排序,和未排序) 。如果您在表中选择一个项目,请求和响应(如适用)该项目显示在请求/响应窗格。这包含了请求和响应的HTTP报文的编辑器,提供每封邮件的详细分析。
站点地图汇总所有的信息BurpSuite已经收集到的有关申请。这包括:
所有这一切都通过代理服务器直接请求的资源。 已推断出通过分析响应代理请求的任何物品(前提是你没有禁用被动Spider) 。 内容使用Spider或内容发现功能查找。 由用户手动添加的任何项目,从其它工具的输出。
已请求在SiteMap中的项目会显示为黑色。尚未被请求的项目显示为灰色。默认情况下(与被动蜘蛛(passviely scan this host)启用) ,当你开始浏览一个典型的应用,大量的内容将显示为灰色之前,你甚至得到尽可能要求,因为BurpSuite发现在您所请求的内容链接到它。您可以删除不感兴趣的地址
Using Burp Spider
要对应用程序使用 Burp Spider 需要两个简单的步骤:
1 使用 Burp Proxy 配置为你浏览器的代理服务器,浏览目标应用程序(为了节省时间,你可 以关闭代理拦截)。
2 到站点地图的”target”选项上,选中目标应用程序驻留的主机和目录。选择上下文菜单的” spider this host/branch”选项。
Control tab
这个选项是用来开始和停止 Burp Spider,监视它的进度,以及定义 spidering 的范围。
Spider Status
1)Spider running
这个是用来开始和停止 Spider。Spider 停止后,它自己不会产生请求,但它会 继续处理通过 Burp Proxy 的响应,并且在 spidering 范围内的新发现的项都会送入请求队列 里,当 Spider 重新启动时,再来请求。这里显示的一些 Spider 进度的指标,让你能看到剩余的内容和工作量的大小。
2)Clear queues
如果你想改变你工作的优先权,你可以完全地清除当前队列的项目,来让其他 的项目加入队列。注意如果被清除的项目如果还在范围内并且 Spider 的分析器发现有新的 链接到这个项目,那么它们还会加入队列。
Crawler Settings
Request Headers
这些设置控制由蜘蛛发出的HTTP请求中使用的请求头。您可以配置头蜘蛛在请求中使用的自定义列表。这可能是有用的,以满足各个应用程序的特定要求 - 例如,测试设计用于移动设备的应用程序时,以模拟预期的用户代理。
Active Scanning Optimization
主动扫描逻辑的行为,以反映扫描的目的和目标应用程序的性质。例如,您可以选择更容易发现问题,在一个大型应用程序的快速扫描;或者您可以执行更慢全面扫描,以发现更难,而且需要更多的扫描请求,以检测问题。