Burp Suite使用介绍

Getting Started

Burp Suite 是用于攻击web 应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。全部的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架。本文主要介绍它的如下特色:php

1.Target(目标)——显示目标目录结构的的一个功能css

2.Proxy(代理)——拦截HTTP/S的代理服务器,做为一个在浏览器和目标应用程序之间的中间人,容许你拦截,查看,修改在两个方向上的原始数据流。html

3.Spider(蜘蛛)——应用智能感应的网络爬虫,它能完整的枚举应用程序的内容和功能。java

4.Scanner(扫描器)——高级工具,执行后,它能自动地发现web 应用程序的安全漏洞。python

5.Intruder(入侵)——一个定制的高度可配置的工具,对web应用程序进行自动化攻击,如:枚举标识符,收集有用的数据,以及使用fuzzing 技术探测常规漏洞。android

6.Repeater(中继器)——一个靠手动操做来触发单独的HTTP 请求,并分析应用程序响应的工具。git

7.Sequencer(会话)——用来分析那些不可预知的应用程序会话令牌和重要数据项的随机性的工具。github

8.Decoder(解码器)——进行手动执行或对应用程序数据者智能解码编码的工具。web

9.Comparer(对比)——一般是经过一些相关的请求和响应获得两项数据的一个可视化的“差别”。正则表达式

10.Extender(扩展)——可让你加载Burp Suite的扩展,使用你本身的或第三方代码来扩展Burp Suit的功能。

11.Options(设置)——对Burp Suite的一些设置

测试工做流程

Burp支持手动的Web应用程序测试的活动。它可让你有效地结合手动和自动化技术,使您能够彻底控制全部的BurpSuite执行的行动,并提供有关您所测试的应用程序的详细信息和分析。 让咱们一块儿来看看Burp Suite的测试流程过程吧。 以下图
Image001

简要分析

代理工具能够说是Burp Suite测试流程的一个心脏,它可让你经过浏览器来浏览应用程序来捕获全部相关信息,并让您轻松地开始进一步行动,在一个典型的测试中,侦察和分析阶段包括如下任务:
手动映射应用程序-使用浏览器经过BurpSuite代理工做,手动映射应用程序经过如下连接,提交表单,并经过多步骤的过程增强。这个过程将填充代理的历史和目标站点地图与全部请求的内容,经过被动蜘蛛将添加到站点地图,能够从应用程序的响应来推断任何进一步的内容(经过连接、表单等)。也能够请求任何未经请求的站点(在站点地图中以灰色显示的),并使用浏览器请求这些。
在必要是执行自动映射-您能够使用BurpSuite自动映射过程当中的各类方法。能够进行自动蜘蛛爬行,要求在站点地图未经请求的站点。请务必在使用这个工具以前,检查全部的蜘蛛爬行设置。
使用内容查找功能发现,可让您浏览或蜘蛛爬行可见的内容连接以进一步的操做。
使用BurpSuite Intruder(入侵者)经过共同文件和目录列表执行自定义的发现,循环,并肯定命中。
注意,在执行任何自动操做以前,可能有必要更新的BurpSuite的配置的各个方面,诸如目标的范围和会话处理。
分析应用程序的攻击面 - 映射应用程序的过程当中填入代理服务器的历史和目标站点地图与全部的BurpSuite已抓获有关应用程序的信息。这两个库中包含的功能来帮助您分析它们所包含的信息,并评估受攻击面的应用程序公开。此外,您能够使用BurpSuite的目标分析器报告的攻击面的程度和不一样类型的应用程序使用的URL 。
接下来主要介绍下BurpSuite的各个功能吧。先介绍Proxy功能,由于Proxy起到一个心脏功能,全部的应用都基于Proxy的代理功能。

Burp Suite功能按钮键翻译对照

        导航栏
      

                                      
      Burp            BurpSuite           save state wizard            保存状态向导     
      restore state            恢复状态            Remember setting            记住设置     
      restore defaults           恢复默认            Intruder            入侵者     
      Start attack            开始攻击(爆破)            Actively scan defined insertion points            定义主动扫描插入点     
      Repeater            中继器            New tab behavior            新标签的行为     
      Automatic payload positions            自动负载位置            config predefined payload lists            配置预约义的有效载荷清单     
      Update content-length            更新内容长度            unpack gzip/deflate           解压gzip/放弃     
      Follow redirections            跟随重定向            process cookies in redirections            在重定向过程当中的cookies     
      View            视图            Action            行为     

        功能项
      

                                      
      Target            目标            Proxy            代理     
      Spider            蜘蛛            Scanner            扫描     
      Intruder            入侵者            Repeater            中继器     
      Sequencer            定序器            Decoder            解码器     
      Comparer            比较器            Extender            扩展     
      Options            设置            Detach            分离     
      Filter            过滤器            SiteMap            网站地图     
      Scope            范围            Filter by request type           经过请求过滤     
      Intercept            拦截            response Modification           响应修改     
      match and replace           匹配和替换            ssl pass through            SSL经过     
      Miscellaneous            杂项            spider status            蜘蛛状态     
      crawler settings           履带式设置            passive spidering            被动蜘蛛     
      form submission           表单提交            application login            应用程序登陆     
      spider engine            蜘蛛引擎            scan queue            扫描队列     
      live scanning            现场扫描            live active scanning           现场主动扫描     
      live passive scanning            现场被动扫描            attack insertion points           攻击插入点     
      active scanning optimization            主动扫描优化            active scanning areas           主动扫描区域     
      passive scanning areas            被动扫描区域            Payload            有效载荷     
      payload processing           有效载荷处理            select live capture request            选择现场捕获请求     
      token location within response            内响应令牌的位置            live capture options           实时捕捉选项     
      Manual load            手动加载            Analyze now            如今分析     
      Platform authentication            平台认证            Upstream proxy servers           上游代理服务器     
      Grep Extrack            提取                               

Proxy功能

Burp Proxy至关于BurpSuite的心脏,经过拦截,查看和修改全部的请求和响应您的浏览器与目标Web服务器之间传递。 下面了解有关BurpProxy:
Image003

Using BurpProxy http、https

http

设置代理的方法:以http ie为例:

工具>>Internet选项>>链接>>局域网>>勾选代理服务器填写地址127.0.0.1端口8080

这里端口能够随便定义可是要跟burp的监听端口要一致而后保存再到Proxy的Options中添加add
Image005
Image007
这样http协议的监听就能够了,当intercept is on表示开启拦截功能,反之
Image009
这样就表明拦截成功,咱们能够右击send to Repeater去修改数据再发送,也能够右击改变提交请求方式(change request method)好比get或者post等功能

https

1.以管理员权限运行ie浏览器

2.像http那样配置好代理

3.在地址栏访问https地址,单击继续

4.点击错误证书在这个地址栏

5.点击查看证书

6.在证书路径选项卡点击PortSwigger CA,而后再点击查看证书

7.在常规选项卡里点击安装证书

8.在证书导入向导中,选择“将全部的证书放入下列存储区”

9.点击浏览

10.以当前用户或者本机计算机均可以

11.点击ok完成导入

12.重启ie(不须要以管理员权限运行) 其它浏览器差很少具体请查看官网

http://portswigger.net/burp/Help/proxy_options_installingCAcert.html

Intercept

用于显示和修改HTTP请求和响应,经过你的浏览器和Web服务器之间。在BurpProxy的选项中,您能够配置拦截规则来肯定请求是什么和响应被拦截(例如,范围内的项目,与特定文件扩展名,项目要求与参数,等)。 该面板还包含如下控制:

Forward

当你编辑信息以后,发送信息到服务器或浏览器

Drop

当你不想要发送此次信息能够点击drop放弃这个拦截信息

Interception is on/off

这个按钮用来切换和关闭全部拦截。若是按钮显示Interception is On,表示请求和响应将被拦截或自动转发根据配置的拦截规则配置代理选项。若是按钮显示Interception is off则显示拦截以后的全部信息将自动转发。

Action

说明一个菜单可用的动做行为操做能够有哪些操做功能。

Comment field

为请求或响应添加注释,以便更容易在History选项卡中识别它们。
Image011

Highlight

为请求或响应添加颜色,能够在history选项卡和截获中更容易发现。
Image013

History

代理历史认为每一个请求和响应。经过代理能够记录所有请求和响应。您能够过滤和注释这个信息来帮助管理它,并使用代理的历史来测试流程。History(代理历史)总在更新,即便你把Interception turned off(拦截关闭),容许浏览不中断的同时还监测应用流量的关键细节。

History Table

表中显示已经过代理HTTP消息的全部请求,而且能够查看完整的你所作的任何修改和截获的信息的请求和响应。 表中包含如下字段:
# (请求索引号)、Host(主机)、Method(请求方式)、URL(请求地址)、Params(参数)、Edited(编辑)、Status(状态)、Length(响应字节长度)、MIME type(响应的MLME类型)、Extension(地址文件扩展名)、Title(页面标题)、Comment(注释)、SSL、IP(目标IP地址)、Cookies、Time(发出请求时间)、Listener port(监听端口)。
Image015
您能够经过单击任何列标题进行升序或降序排列。若是您在表中双击选择一个项目地址,会显示出一个详细的请求和响应的窗口。或者右击选择 Show new history window

Image017

Display Filter

Proxy histroy有一个能够用来在视图中隐藏某些内容的功能,以使其更易于分析和你感兴趣的工做内容的显示过滤。 History Table上方的过滤栏描述了当前的显示过滤器。点击过滤器栏打开要编辑的过滤器选项。该过滤器能够基于如下属性进行配置:
Image019

Request type

Show only in-scope items--勾选则显示在范围内的项目,反之。

MIME type

您能够设定是否显示或隐藏包含各类不一样的MIME类型,如HTML,CSS或图像的响应。

Status code

您能够设定是否要显示或隐藏各类HTTP状态码响应。

Search term

您能够过滤对反应是否不包含指定的搜索词。您能够设定搜索词是不是一个文字字符串或正则表达式,以及是否区分大小写。若是您选择了“Negative search (消极搜索)”选项,而后不匹配的搜索词惟一的项目将被显示。

File extension

您能够设定是否要显示或隐藏指定的文件扩展名的项目。

Annotation

您能够设定是否显示使用用户提供的评论或仅亮点项目。

Listener

你能够只显示特定的监听端口上接收的项目。测试访问控制时可能有用。 若是设置一个过滤器,隐藏一些项目,这些都没有被删除,只是隐藏起来,若是你取消设置相关的过滤器将再次出现。这意味着您能够使用筛选器来帮助您系统地研究了大量代理的历史来理解各类不一样的请求显示。

Annotations

您能够经过添加注释和批注亮点代理历史记录项。这多是有用的描述不一样要求的目的,并标记了进一步查看。 两种方式添加亮点: 1)使用在最左边的表列中的下拉菜单中突出显示单个项目。 2)能够突出显示使用上下文菜单中的“亮点”项目的一个或多个选定的项目。 两种方法添加注释: 1)双击相关条目,注释列中,添加或编辑就地评论。 2)发表评论使用上下文菜单中的“添加注释”项目的一个或多个选定的项目。 除了以上两种,您也能够注释项目,它们出如今拦截选项卡,这些都将自动出如今历史记录表。 当您已经注明想要的请求,您能够使用列排序和显示过滤器后迅速找到这些项目。

Options

设置代理监听、请求和响应,拦截反应,匹配和替换,ssl等。

Proxy Listeners

代理侦听器是侦遵从您的浏览器传入的链接本地HTTP代理服务器。它容许您监视和拦截全部的请求和响应,而且位于BurpProxy的工做流的心脏。默认状况下,Burp默认监听12.0.0.1地址,端口8080。要使用这个监听器,你须要配置你的浏览器使用127.0.0.1:8080做为代理服务器。此默认监听器是必需的测试几乎全部的基于浏览器的全部Web应用程序。
Image021

1)Binding

这些设置控制Burp怎么代理监听器绑定到本地网络接口:

?
1
Bind to port---这是将被打开侦听传入链接的本地接口上的端口。你将须要使用一个没有被绑定被其余应用程序的闲置端口。 Bind to address---这是Burp绑定到本地接口的IP地址。

您能够绑定到刚刚127.0.0.1接口或全部接口,或任何特定的本地IP地址。
注意:若是监听器绑定到全部接口或特定的非loopback接口,那么其余计算机可能没法链接到该侦听器。这可能使他们发起出站链接,从您的IP地址发起,并以访问代理服务器历史的内容,其中可能包含敏感数据,如登陆凭据。你应该只启用此当你位于一个受信任的网络上。
BurpSuite让您建立多个代理服务器的侦听器,并提供了丰富的控制本身的行为的配置选项。你可能偶尔须要进行测试时不寻常的应用,或与一些非基于浏览器的HTTP客户端进行合做,利用这些选项。

2)Request Handling

这些设置包括选项来控制是否BurpSuite重定向经过此侦听器接收到的请求:
Redirect to host - 若是配置了这个选项,Burp会在每次请求转发到指定的主机,而没必要受限于浏览器所请求的目标。须要注意的是,若是你正使用该选项,则可能须要配置匹配/替换规则重写的主机头中的请求,若是服务器中,您重定向请求预期,不一样于由浏览器发送一个主机头。
Redirect to port - 若是配置了这个选项,Burp会在每次请求转发到指定的端口,而没必要受限于浏览器所请求的目标。
Force use of SSL - 若是配置了这个选项,Burp会使用HTTPS在全部向外的链接,即便传入的请求中使用普通的HTTP。您能够使用此选项,在与SSL相关的响应修改选项结合,开展sslstrip般的攻击使用Burp,其中,强制执行HTTPS的应用程序能够降级为普通的HTTP的受害用户的流量在不知不觉中经过BurpProxy代理。
注意:每个重定向选项均可以单独使用。所以,例如,能够将全部请求重定向到一个特定的主机,同时保留原来的端口和协议在每一个原始请求中使用。隐形BurpProxy的支持容许非代理感知客户端直接链接到监听。

3)Certificate

这些设置控制呈现给客户端的SSL服务器的SSL证书。使用这些选项能够解决一些使用拦截代理时出现的SSL问题:

你能够消除您的浏览器的SSL警报,并须要创建SSL例外。 凡网页加载来自其余域的SSL保护的项目,您能够确保这些都可由浏览器加载,而不须要先手动接受每一个引用的域代理的SSL证书。 您能够与拒绝链接到服务器,若是接收到无效的SSL证书胖客户端应用程序的工做。

下列选项可用:
Use a self-signed certificate---||-一个简单的自签名SSL证书提交给您的浏览器,它老是致使SSL警告。
Generate CA-signed per-host certificate---||-这是默认选项。安装后,BurpSuite创造了一个独特的自签名的证书颁发机构(CA)证书,并将此计算机上使用,每次BurpSuite运行。当你的浏览器发出SSL链接到指定的主机,Burp产生该主机,经过CA证书签名的SSL证书。您能够安装BurpSuite的CA证书做为在浏览器中受信任的根,从而使每一个主机的证书被接受,没有任何警报。您还能够导出其余工具或Burp的其余实例使用CA证书。
Generate a CA-signed certificate with a specific hostname---||这相似于前面的选项;然而,Burp会产生一个单一的主机证书与每个SSL链接使用,使用您指定的主机名。在进行无形的代理时,此选项有时是必要的,由于客户端没有发送链接请求,所以Burp不能肯定SSL协议所需的主机名。你也能够安装BurpSuite的CA证书做为受信任的根。
Use a custom certificate---||-此选项使您能够加载一个特定的证书(在PKCS#12格式)呈现给你的浏览器。若是应用程序使用它须要特定的服务器证书(例如一个给定序列号或证书链)的客户端应该使用这个选项。

4)Exporting and Importing the CA Certificate

您能够导出您安装特定的CA证书在其余工具或BurpSuite的其余状况下使用,而且能够导入证书Burp在当前实例使用。 您能够选择要导出的证书只(用于导入到您的浏览器或其余设备的信任),或者你能够同时导出的证书及其私钥。
注意:您不该该透露的私钥证书给任何不可信的一方。拥有你的证书和密钥的恶意攻击者可能能够,即便你不使用Burp拦截浏览器的HTTPS流量。
您也能够仅经过访问http://burp/cert在浏览器中导出证书。它使HTTPS请求您的浏览器相同的证书,但在一些移动设备上安装时,设备经过一个URL来下载它是有帮助的。

Interception Options

设置控制哪些请求和响应都停滞用于查看和编辑在拦截选项卡。单独的设置将应用到请求和响应。
在“Intercept”复选框肯定是否有讯息拦截。若是它被选中,而后Burp应用配置的规则对每一个消息,以肯定它是否应该被拦截。
个别规则能够激活或停用对每一个规则的左边的复选框。规则能够被添加,编辑,删除,或使用按钮从新排序。规则能够在消息,包括域名, IP地址,协议, HTTP方法, URL,文件扩展名,参数,cookie ,头/主体内容,状态代码,MIME类型, HTML页面标题和代理的几乎任何属性进行配置侦听端口。您能够配置规则来只拦截项目的网址是目标范围以内的。能够使用正则表达式对定义复杂的匹配条件。
规则按顺序处理,而且使用布尔运算符AND和OR组合。这些都与处理简单的“从左到右”的逻辑,其中每一个算子的范围,以下所示:(全部规则以前累积的结果)和/或(当前规则的结果)全部活动的规则在每封邮件进行处理,并最终活动规则应用后的结果肯定消息是否被拦截或转发的背景。“自动更新内容长度”复选框控件时,这已被用户修改是否Burp自动更新消息的Content-Length头。使用这个选项一般是必不可少的,当HTTP主体已被修改。
若是有需求,能够在请求结束时自动修复丢失或多余的新行。若是编辑请求不包含标题下面一个空行,Burp会添加此。若是与含有URL编码参数的身体的编辑请求包含任何换行符在身体的末端,Burp就会删除这些。这个选项能够是有用的纠正,而手动编辑在拦截视图的要求,以免发出无效的请求向服务器发出的错误。

Response Modification

设置用于执行自动响应的修改。您能够使用这些选项经过自动重写应用程序响应的HTML来完成各类任务。 下列选项在数据删除客户端控件多是有用的:

显示隐藏的表单字段。 (有一个子选项,以突出强调取消隐藏栏在屏幕上,便于识别。 ) 启用已禁用的表单域 删除输入字段长度限制 删除的JavaScript表单验证

下列选项可用于禁止客户端逻辑用于测试目的(注意,这些特征并不是设计用来做为NoScript的的方式进行安全防护)有用:

删除全部的JavaScript。 删除<object>标记。

下列选项可用于提供对受害用户的流量在不知不觉中被经过BurpSuite代理sslstrip般的攻击。您能够在与听者选项强制SSL的传出请求,以有效地从用户的链接剥离SSL一块儿使用这些:

转换HTTPS为HTTP的连接。 删除cookie安全标志。

Match and Replace

用于自动替换请求和响应经过代理的部分。对于每个HTTP消息,已启用的匹配和替换规则依次执行,以及任何适用的替代品制成。规则能够分别被定义为请求和响应,对于消息头和身体,而且还特别为只请求的第一行。每一个规则能够指定一个文字字符串或正则表达式来匹配,和一个字符串来替换它。对于邮件头,若是匹配条件,整个头和替换字符串匹配留空,而后头被删除。若是指定一个空的匹配表达式,而后替换字符串将被添加为一个新的头。有可协助常见任务的各类缺省规则 - 这些都是默认为禁用。 匹配多行区域。您能够使用标准的正则表达式语法来匹配邮件正文的多行区域。
在替换字符串,组能够使用其次为索引$引用。因此下面的替换字符串将包含被匹配在上述正则表达式,该标记的名称:
Image023

SSL Pass Through

用于指定目标Web服务器为其Burp会直接经过SSL链接。关于经过这些链接的请求或响应任何细节将在代理拦截视图或历史。
经过SSL链接传递能够在这状况下是不能直接消除了客户端的SSL错误是很是有用 - 例如,在执行SSL证书钉扎的移动应用程序。若是应用程序访问多个域,或使用HTTP和HTTPS链接的混合,而后经过SSL链接到特定问题的主机仍然可让您以正常方式使用Burp其余交通工做。
若是启用该选项来自动添加客户端SSL协商失败的项目,而后BurpSuite会在客户端失败的SSL协议检测(例如,因为不认可BurpSuite的CA证书),并会自动将相关的服务器添加到SSL统统过列表。

Miscellaneous

控制Burp代理的行为的一些具体细节。下列选项可用:
Use HTTP/1.0 in requests to server - 该选项控制BurpSuite代理是否强制在请求目标服务器的HTTP 1.0版。默认设置是使用任何的HTTP版本所使用的浏览器。然而,一些遗留服务器或应用程序可能须要1.0版本才能正常工做。
Use HTTP/1.0 in responses to client - 目前全部的浏览器都支持这两个版本1.0和HTTP 1.1 。从1.0版本开始已经减小了一些功能,迫使使用1.0版本有时会颇有用,以控制浏览器的行为的各个方面,例如防止企图执行HTTP流水线。
Set response header “Connection:close” - 这个选项也多是有用的,以防止HTTP流水线在某些状况下。
Unpack gzip / deflate in requests - 某些应用程序(一般是那些使用自定义客户端组件) ,压缩在请求消息体。该选项控制BurpProxy是否自动解压缩压缩请求主体。请注意,某些应用程序可能被破坏,若是他们指望的压缩体和压缩已经过Burp被删除。
Unpack gzip / deflate in responses - 大多数浏览器接受的gzip和响应紧缩压缩的内容。该选项控制BurpSuite代理是否自动解压缩压缩响应机构。请注意,您能够常常防止服务器试图经过删除请求(可能使用BurpProxy的匹配和替换功能)的Accept-Encoding头压缩的响应。 Disable web interface at http://burp - 若是你不得不配置你的听众接受无保护的接口上的链接,并但愿阻止他人接触到Burp浏览器控件,此选项可能有用。
Suppress Burp error messages - 当某些错误时,默认状况下BurpSuite返回有意义的错误信息到浏览器。若是你想在隐身模式下运行Burp,履行人在这方面的中间人攻击的受害者用户,那么它多是有用的抑制这些错误信息来掩盖一个事实,即Burp是参与。
Disable logging to history and site map - 此选项能够防止Burp从记录任何请求到代理服务器的历史或目标站点地图。若是您使用的是Burp代理对于一些特定用途,如身份验证到上游服务器或进行匹配和替换操做,而且要避免产生内存和存储开销采伐牵扯它多是有用的。
Enable interception at startup- 此选项可以让您设定是否在Burp时启动代理截获应该启用。您能够选择始终启用拦截,始终禁用拦截,或者从Burp上次关闭恢复设置。

Target功能

目标工具包含了SiteMap,用你的目标应用程序的详细信息。它可让你定义哪些对象在范围上为你目前的工做,也可让你手动测试漏洞的过程。

Using Burp Target

在地址栏输入www.baidu.com,如图
Image025
这样看起来site map是否是很乱,则能够右击add to scope,而后点击Filter勾选Show only in-scope items,此时你再回头看Site map就只有百度一个地址了,这里filter能够过滤一些参数,show all显示所有,hide隐藏全部,若是勾选了表示不过滤
Image027
针对地址右击显示当前能够作的一些动做操做等功能。左图 针对文件右击显示当前能够作一些动做操做等功能。右图
Image029Image031

2)Scope

这个主要是配合Site map作一些过滤的功能,如图:
Image033
Include in scope就是扫描地址或者拦截历史记录里右击有个add to scope就是添加到这了,也能够本身手动添加。
Target分为site map和scope两个选项卡

SiteMap

中心Site Map汇总全部的信息Burp已经收集到的有关地址。你能够过滤并标注此信息,以帮助管理它,也能够使用SiteMap来手动测试工做流程。

Target Information

SiteMap会在目标中以树形和表形式显示,而且还能够查看完整的请求和响应。树视图包含内容的分层表示,随着细分为地址,目录,文件和参数化请求的URL 。您还能够扩大有趣的分支才能看到进一步的细节。若是您选择树的一个或多个部分,在全部子分支所选择的项目和项目都显示在表视图。
该表视图显示有关每一个项目(URL , HTTP状态代码,网页标题等)的关键细节。您能够根据任意列进行排序表(单击列标题来循环升序排序,降序排序,和未排序) 。若是您在表中选择一个项目,请求和响应(如适用)该项目显示在请求/响应窗格。这包含了请求和响应的HTTP报文的编辑器,提供每封邮件的详细分析。
站点地图汇总全部的信息BurpSuite已经收集到的有关申请。这包括:

全部这一切都经过代理服务器直接请求的资源。 已推断出经过分析响应代理请求的任何物品(前提是你没有禁用被动Spider) 。 内容使用Spider或内容发现功能查找。 由用户手动添加的任何项目,从其它工具的输出。

已请求在SiteMap中的项目会显示为黑色。还没有被请求的项目显示为灰色。默认状况下(与被动蜘蛛(passviely scan this host)启用) ,当你开始浏览一个典型的应用,大量的内容将显示为灰色以前,你甚至获得尽量要求,由于BurpSuite发如今您所请求的内容连接到它。您能够删除不感兴趣的地址
Image035

Display Filter

Sitemap能够用来隐藏某些内容从视图中,以使其更易于分析和对你感兴趣的工做内容的显示过滤器 Sitemap上方的过滤栏描述了当前的显示过滤器。点击过滤器栏打开要编辑的过滤器选项。该过滤器能够基于如下属性进行配置:
Request type 你能够只显示在范围内的项目,只能与反应项目,或者带参数的请求。 MIME type 您能够设定是否显示或隐藏包含各类不一样的MIME类型,如HTML,CSS或图像的响应。 Status code 您能够设定是否要显示或隐藏各类HTTP状态码响应。 Search term 您能够过滤对反应是否不包含指定的搜索词。您能够设定搜索词是不是一个文字字符串或正则表达式,以及是否区分大小写。若是您选择了“消极搜索”选项,而后不匹配的搜索词惟一的项目将被显示。 File extension 您能够设定是否要显示或隐藏指定的文件扩展名的项目。 Annotation 您能够设定是否显示使用用户提供的评论或仅亮点项目。

Annotations

经过添加注释和批注亮点代理历史记录项。这多是有用的描述不一样要求的目的,并标记了进一步查看。
您能够经过添加注释和批注亮点代理历史记录项。这多是有用的描述不一样要求的目的,并标记了进一步查看。
两种方式添加亮点:

1)使用在最左边的表列中的下拉菜单中突出显示单个项目。

2)能够突出显示使用上下文菜单中的“亮点”项目的一个或多个选定的项目。 两种方法添加注释:

3)双击相关条目,注释列中,添加或编辑就地评论。

4)发表评论使用上下文菜单中的“添加注释”项目的一个或多个选定的项目。

除了以上两种,您也能够注释项目,它们出如今拦截选项卡,这些都将自动出如今历史记录表。 当您已经注明想要的请求,您能够使用列排序和显示过滤器后迅速找到这些项目。

Scope

Target scope设置,能够从SiteMap中添加也能够手动添加扫描范围到Scope。你能够在Target SiteMap和Proxy history上设置只显示在范围内的项目。而且能够设置代理拦截只有在范围内的请求和响应。Spider会扫描在范围内的地址。专业版还能够设置自动启动在范围内项目的漏洞扫描。您能够配置Intruder和Repeater跟随重定向到任何在范围内的网址。发送Burp目标以适当的方式执行行动,只针对你感兴趣并愿意攻击项目。
Image037
范围定义使用的URL匹配规则两个表 - 一个“包括(include)”列表和“exclude(排除)”列表中。Burp根据一个URL地址来决定,若是它是目标范围以内,这将被视为是在范围上若是URL匹配至少一个“include”在内的规则,不符合“exclude”规则。这样可以定义特定的主机和目录为大体范围内,且距离该范围特定的子目录或文件(如注销或行政职能)排除。

Spider功能

Burp Spider 是一个映射 web 应用程序的工具。它使用多种智能技术对一个应用程序的内容和功能进行全面的清查。 经过跟踪 HTML 和 JavaScript 以及提交的表单中的超连接来映射目标应用程序,它还使用了一些其余的线索,如目录列表,资源类型的注释,以及 robots.txt 文件。 结果会在站点地图中以树和表的形式显示出来,提供了一个清楚并不是常详细的目标应用程序 视图。能使你清楚地了解到一个 web 应用程序是怎样工做的,让你避免进行大量 的手动任务而浪费时间,在跟踪连接,提交表单,精简 HTNL 源代码。能够快速地确人应 用程序的潜在的脆弱功能,还容许你指定特定的漏洞,如 SQL 注入,路径遍历。

Using Burp Spider

要对应用程序使用 Burp Spider 须要两个简单的步骤:

1 使用 Burp Proxy 配置为你浏览器的代理服务器,浏览目标应用程序(为了节省时间,你可 以关闭代理拦截)。

2 到站点地图的”target”选项上,选中目标应用程序驻留的主机和目录。选择上下文菜单的” spider this host/branch”选项。

Image039
你也能够在任何 Burp 工具的任意请求或响应上使用上下文菜单上选择” spider this item”。当你发送一个站点地图的分支来 spidering,Spider 会首先检查这个分支是否在定义好的spidering 的范围内。若是不是,Burp 会提示你是否把相关的 URL 添加到范围里。而后,Burp 开始 spidering,并执行下面的操做:
在分支上,请求那些已被发现的还没被请求过的 URL。 在分支上,提交那些已被发现但提交 URL 错误的表单。 重复请求分支上的先前收到的状态码为 304 的项,为检索到一个应用程序的新(未进入缓存)副本。 对全部的检索到内容进行解析以确认新的 URL 和表单。 只有发现新内容就递归地重复这些步骤。 继续在全部的范围区域内 spidering,直到没有新内容为止。
注意 Spider 会跟踪任何在当前定义的 spidering 范围内的 URL 连接。若是你定义了一个 范围比较大的目标,而且你只选择了其中的一个分支来 spidering,这时 Spider 会跟踪全部进入到这个比较大的范围内的连接,因而也就不在原来的分支上 spider。为了确保 Spider 只在指定分支内的请求上,你应该在开始时,就把 spidering 范围配置为只在这个分支上。
你应该当心地使用 Burp Spider。在它的默认设置上,Spider 会在 spidering 范围内使用 默认输入值,自动地提交任意表格,而且会请求许多日常用户在只使用一个浏览器不会发出 的请求。若是在你定义范围的 URL 是用来执行敏感操做的,这些操做都会被带到应用程序 上。在你彻底地开始自动探索内容以前,使用浏览器对应用程序进行一些手动的映射,是很是可取的。

Control tab

这个选项是用来开始和中止 Burp Spider,监视它的进度,以及定义 spidering 的范围。

Spider Status

Image041

1)Spider running

这个是用来开始和中止 Spider。Spider 中止后,它本身不会产生请求,但它会 继续处理经过 Burp Proxy 的响应,而且在 spidering 范围内的新发现的项都会送入请求队列 里,当 Spider 从新启动时,再来请求。这里显示的一些 Spider 进度的指标,让你能看到剩余的内容和工做量的大小。

2)Clear queues

若是你想改变你工做的优先权,你能够彻底地清除当前队列的项目,来让其余 的项目加入队列。注意若是被清除的项目若是还在范围内而且 Spider 的分析器发现有新的 连接到这个项目,那么它们还会加入队列。

Spider Scope

在这个面板里,你能精确地定义 Spider 的请求范围。最好的方法一般是使用一套普遍的目标范围,默认状况下,蜘蛛会使用该范围。若是您须要定义不一样范围的蜘蛛使用,而后选择“Use custom scope(使用自定义范围)”。进一步的配置面板会出如今相同的方式套件范围的目标范围内面板的功能。若是你使用自定义范围并向 Spider 发送不在范围内 的项,则 Burp 会自动更新这个自定义的范围而不是 Suite 范围。

Options tab

这个选项里包含了许多控制 Burp Spider 动做的选项,以下描述。这些设置在 spider 启 动后还能够修改的,而且这修改对先前的结果也是有效的。例如,若是增长了最大连接深度, 在之前的最大连接深度外的连接若是知足如今的条件,也会加入到请求队列里。

Crawler Settings

Image043

1)check robots.txt

若是这个选项被选中,Burp Spider会要求和处理robots.txt文件,提取内容连接。这个文件是由机器人排除协议控制的蜘蛛状制剂在互联网上的行为。请注意,注意 Burp Spider不会确认 robots 排除协议。Burp Spider 会列举出目标应用程序的全部内容,请求全部在范围 内的 robots.txt 条目。

2)detect custom "not found" responses

HTTP协议须要向Web服务器返回404状态码,若是一个请求的资源不存在。然而,许多Web应用程序返回使用不一样的状态代码定制为“not found”的网页。若是是这种状况,则使用该选项能够防止误报的网站内容的映射。Burp Spider从每一个域请求不存在的资源,编制指纹与诊断“not found”响应其它请求检测定制“not found”的回应。

3)ignore links to non-text content

经常须要推断出在 HTML 上下文里连接到特殊资源的 MIME 类型。例如,带有 IMG 标记的 URL 会返回图像;那些带有 SCRIPT 标记的会返回 JavaScript。 若是这个选项被选中,Spider 不会请求在这个上下文出现的出现的非文本资源。使用这个选 项,会减小 spidering 时间,下降忽略掉感兴趣内容的风险。

4)request the root of all directories 若是这个选项被选中,Burp Spider 会请求全部已确认的目标 范围内的 web 目录,除了那些目录里的文件。若是在这个目标站点上目录索引是可用的, 这选项将是很是的有用。

5)make a non-parameterised request to each dynamic page

若是这个选项被选中,Burp Spider 会对在范围内的全部执行动做的 URL 进行无参数的 GET 请求。若是期待的参数没有被接收, 动态页面会有不一样的响应,这个选项就能成功地探测出添加的站点内容和功能。

6)maximum link depth

这是Burp Suite在种子 URL 里的浏览”hops”的最大数。0表示让Burp Suite只请求种子 URL。若是指定的数值很是大,将会对范围内的连接进行无限期的有效跟踪。将此选项设置为一个合理的数字能够帮助防止循环Spider在某些种类的动态生成的内容。

7)Maximum parameterized requests per URL

请求该蜘蛛用不一样的参数相同的基本URL的最大数目。将此选项设置为一个合理的数字能够帮助避免爬行“无限”的内容,如在URL中的日期参数的日历应用程序。

Passive Spidering(被动扫描)

Image045

1)passively spider as you browse

若是这个选项被选中,Burp Suite 会被动地处理全部经过 Burp Proxy 的 HTTP 请求,来确认访问页面上的连接和表格。使用这个选项能让 Burp Spider 创建一个包含应用程序内容的详细画面,甚至此时你仅仅使用浏览器浏览了内容的一个子集,由于全部被访问内容连接到内容都会自动地添加到 Suite 的站点地图上。

2)link depth to associate with proxy requests

这个选项控制着与经过 Burp Proxy 访问的 web 页面 有关的” link depth”。为了防止 Burp Spider 跟踪这个页面里的全部连接,要设置一个比上面 选项卡里的” maximum link depth”值还高的一个值。

Form Submission

Image047

1)individuate forms

这个选项是配置个性化的标准(执行 URL,方法,区域,值)。当 Burp Spider 处理这些表格时,它会检查这些标准以确认表格是不是新的。旧的表格不会加入到提交序列。

2)Don’t submit

若是选中这个,Burp Spider 不会提交任何表单。

3)prompt for guidance

若是选中这个,在你提交每个确认的表单前,Burp Suite 都会为你指示引导。这容许你根据须要在输入域中填写自定义的数据,以及选项提交到服务器的哪个 区域,以及是否遍历整个区域。

4)automatically submit

若是选中,Burp Spider 经过使用定义的规则来填写输入域的文本值来自动地提交范围内的表单。每一条规则让你指定一个简单的文本或者正则表达式来匹配表单字段名,并提交那些表单名匹配的字段值。能够为任意不匹配的字段指定默认值。
在应用程序一般须要对全部输入域都是有效格式的数据的地方,若是你想经过登记表单 和类似功能自动地 spider,则这个选项会很是有用。在自动地把表单数据提交到广阔范围内 的应用程序时,Burp 使用一组很是成功的规则。固然,若是你遇到有本身须要提交的特定 值的表单字段名时,你能够修改这些或者添加本身的规则。你要当心地使用这个选项,由于 提交了表单里的虚假值有时会致使一些不但愿看到操做。
许多表单包含了多个提交元素,这些会对应用程序进行不一样的操做,和发现不一样的内容。 你能够配置 Spider 重复经过表单里提交元素的值,向每一个表单提交屡次,次数低于配置的 最大值。

Application Login

Image049
登录表单在应用程序中扮演一个特殊角色,而且你经常会让 Burp 用和处理日常表单不 同样的方式来处理这个表单。使用这个配置,你能够告诉 Spider 在遇到一个表单执行下面 4 种不一样操做的一种:

1.若是你没有证书,或者关注 Spidering 的敏感保护功能,Burp 能够忽略登录表单。

2.Burp 能交互地为你提示引导,使你可以指定证书。这时默认设置项。

3.Burp 经过你配置的信息和自动填充规则,用处理其余表单的方式来处理登录表单。

4.在遇到的每一个登录表单时,Burp 能自动地提交特定的证书。

在最后一种状况下,任什么时候间 Burp 遇到一个包含密码域的表单,会提交你配置的密码到密码域,提交你配置用户名到最像用户名的字段域。若是你有应用程序的证书,想让 Spider为你处理登录,一般状况下这是最好的选项

Spider Engine

Image051
这些设置控制用于Spidering时发出HTTP请求的引擎。下列选项可用:

1)Number of threads----此选项控制并发请求进程数。

2)Number of retries on network failure----若是出现链接错误或其余网络问题,BurpSuite会放弃和移动以前重试的请求指定的次数。测试时间歇性网络故障是常见的,因此最好是在发生故障时重试该请求了好几回。

3)Pause before retry----当重试失败的请求,BurpSuite会等待指定的时间(以毫秒为单位)如下,而后重试失败。若是服务器被宕掉、繁忙或间歇性的问题发生,最好是等待很短的时间,而后重试。

4)Throttle between requests----BurpSuite能够在每次请求以前等待一个指定的延迟(以毫秒为单位)。此选项颇有用,以免超载应用程序,或者是更隐蔽。

5)Add random variations to throttle----此选项能够经过下降您的要求的时序模式进一步增长隐身。

Request Headers

这些设置控制由蜘蛛发出的HTTP请求中使用的请求头。您能够配置头蜘蛛在请求中使用的自定义列表。这多是有用的,以知足各个应用程序的特定要求 - 例如,测试设计用于移动设备的应用程序时,以模拟预期的用户代理。
如下选项也可用:
Image053

1)Use HTTP version 1.1----若是选中,Spider会使用HTTP1.1版在其请求;不然,它会使用1.0版。

2)Use Referer header----若是选中,Spider会要求从另外一个页面连接到任何项目时提交相关Referer头。此选项颇有用更加紧密地模拟将经过您的浏览器发出的请求,而且还可能须要浏览一些应用程序验证Referer头。

Scanner功能

Using Burp Scanner

分如下几个步骤来简单使用Scanner 1.设置好代理以后在地址栏输入你要抓取的地址,而且要在Proxy里把拦截关了,随后切换到Scanner的Results就能够看到地址已经在开始扫描咯
Image055
2.对地址右击还能够导出报告,
Image057
Image059
Html或者xml随便你以什么格式的,而后一直下一步下一步到以下图选择保存文件到哪
Image061
咱们打开看看,是否是很漂亮呢
Image063
3.若是扫描出漏洞了咱们还能够直接在这针对某个漏洞进行查看,若是想测试的话能够发送到Repeater进行测试哦
Image065

Results

结果选项卡包含全部的扫描仪已肯定,从主动和被动扫描的问题。以一种树型图显示应用程序的内容,其中的问题已经被发现,使用URL分解成域,目录和文件的层次表示。若是您选择一个或多个部分的分支,全部选定的项目将扫描的问题都列出来,用组合在一块儿的相同类型的问题。您还能够扩大这些问题汇总查看全部的每种类型的个别问题。 若是您选择的问题那么将显示相应的详情,包括:

1)自定义的漏洞,咨询内容包括: 问题类型及其整治的标准描述。 中适用于该问题,并影响其修复任何特定的功能的描述。

2)完整的请求和响应都是依据报告了该问题。在适用的状况,是相关的识别和再现问题的请求和响应的部分在请求和响应消息的编辑器中突出显示。

一般状况下,测试并验证一个问题最快的方法是使用发送到Repeater。另外,对于GET请求,您能够复制此URL,并将其粘贴到浏览器中。而后,您能够从新发出请求。 Burp扫描报告描述,每个问题都会给出严重程度(高,中,低,资讯)和置信度(确定的,坚决的,暂定)的评级。当一个问题一直使用一种技术,本质上是不太可靠(如SQL盲注)肯定,Burp会让你意识到这一点,经过丢弃的置信水平存在必定不足。这些额定值应始终被解释为指示性的,你应该根据你的应用程序的功能和业务方面的知识进行审查。
这个问题已经上市,你能够用它来执行如下操做的上下文菜单:如图所示
Image067

Report selected issues

启动BurpSuite Scanner的报告向导,生成的选定问题的正式报告。 Set severity - 这让你从新分配问题的严重程度。您能够设置严重程度高,中,低,或信息。您还能够标记问题做为假阳性。

Delect selected issues

删除选定问题。请注意,若是你删除了一个问题,Burp从新发现了一样的问题(例如,若是你从新扫描了一样的要求),那么问题将再次报告。相反,若是你是一个假阳性标记的问题,那么这将不会发生。所以,最适合用于清理扫描结果移除你不感兴趣。对于内部的功能不须要您的问题仍然工做在主机或路径删除的问题,您应该使用假阳性的选项。

Scan Queue

Active Scanning(主动扫描)过程一般包括发送大量请求到服务器为所扫描的每一个基本的请求,这多是一个耗时的过程。当您发送的主动扫描请求,这些被添加到活动扫描队列,它们被依次处理。如图
Image069
扫描队列中显示每一个项目的详细信息以下:

1)索引号的项目,反映该项目的添加顺序。

2)目的地协议,主机和URL 。

3)该项目的当前状态,包括完成百分比。

4)项目扫描问题的数量(这是根据所附的最严重问题的重要性和彩色化) 。

5)在扫描项目的请求数量进行。 注意 这不是插入点的数量的线性函数 - 观察应用程序行为的反馈到后续攻击的请求,仅仅由于它会为一个测试仪。

6)网络错误的数目遇到的问题。

7)为项目建立的插入点的数量。

这些信息可让您轻松地监控个别扫描项目的进度。若是您发现某些扫描进度过于缓慢,能够理解的缘由,如大量的插入点,缓慢的应用响应,网络错误等给定这些信息,你就能够采起行动来优化你的扫描,经过改变配置为插入点时,扫描引擎,或正在测试的主动扫描区域。
你能够双击任何项目在扫描队列显示,到目前为止发现的问题,并查看了基本请求和响应的项目。您能够使用扫描队列的上下文菜单来执行各类操做来控制扫描过程。确切的可用选项取决于所选的项目(S )的状态,并包括:以下图所示
Image071

Show details

这将打开显示到目前为止发现的问题的一个窗口,与底座请求和响应的项目。

Scan again

此复制所选择的项目(S ) ,并将这些队列的末尾。

Delete item(S)

这将永久地从队列中删除选定的项目(S ) 。

Delect finished items

这永久删除那些已经完成了队列中的任何项目。

Automatically delete finished items

这是否切换扫描器会自动从队列为他们完成删除项目。

Pause/resume scanner

这能够暂停和恢复激活扫描仪。若是任何扫描正在进行时,扫描会暂停,而挂起的扫描请求完成后,一般会有一个短暂的延迟。

Send to

这些选项用于所选项目的基本请求发送到其它Burp(Repeater、Intruder)工具。

Live Scanning

实时扫描可以让您决定哪些内容经过使用浏览器的目标应用,经过BurpProxy服务器进行扫描。您能够实时主动扫描设定live active scanning和live passive两种扫描模式。如图
Image073

Live active scanning

执行现场主动扫描,请执行如下步骤:

?
1
1 )配置与目标的细节,你要主动扫描现场主动扫描设置。若是你已经配置了一套全范围的目标为你目前的工做,那么你能够简单地通知Burp主动扫描落在该范围内的每一个请求。或者,您能够使用URL匹配规则定义自定义范围。 2 )各地经过BurpProxy一般的方式应用浏览。这将有效地展现Burp要扫描的应用功能。对于每个独特的所在范围的要求,你经过你的浏览器,Burp会排队主动扫描请求,并将努力走在后台找到漏洞为您服务。

Live Passive Scanning

现场演示被动扫描,请执行如下步骤:

?
1
1 )配置具备您要被动地扫描目标的细节live passive scanning。默认状况下,Burp执行全部请求的被动扫描,但你能够限制扫描目标范围,或者使用URL匹配规则的自定义范围。 2 )经过BurpProxy一般的方式应用浏览。这将有效地展现Burp你要扫描的应用功能。

Options

此选项卡包含Burp扫描选项进行攻击的插入点,主动扫描引擎,主动扫描优化,主动扫描区和被动扫描区域。

Attack Insertion Points

这些设置控制扫描仪的地方“插入点(insertion points)”到被发送的主动扫描每一个基本要求。插入点攻击将被放置,探测漏洞请求中的位置。每一个定义的插入点单独扫描。 BurpSuite为您提供细粒度地控制放置插入点,以及这些选项仔细配置会让您量身定制您的扫描到您的目标应用程序的性质。插入点的配置也表明你的扫描速度和全面性之间进行权衡。
注:除了让Burp自动指定插入点,就能够彻底自定义这些,这样你就能够在你想要攻击的地方放在任意一个位置。要使用此功能,将请求发送给Intruder,用payload positions标签来定义一般的方式各插入点的开始和结束,并选择入侵者菜单选项“积极定义扫描插入点” 。您也能够指定以编程方式使用Burp扩展的自定义插入点位置。
Image075

1)Insertion Point Locations

这些设定可以让您选择,其中插入点应放在请求中的位置的类型:

?
1
URLparameter values - URL查询字符串中标准的参数值。 Body parameter values - 在邮件正文中,包括标准形式生成的参数参数值,属性的多重编码的参数,如上传的文件名, XML参数值和属性,和JSON值。 Cookieparameter values - 的HTTP Cookie的值。 Parameter name - 任意添加的参数的名称。 URL参数老是被添加,而且机身参数也加入到POST请求。测试一个附加的参数名称一般能够检测到被错过,若是只是参数值进行了测试异常的错误。 HTTPheaders - 在引用页和用户代理标头的值。测试这些插入点一般能够检测如SQL注入或跨站脚本持续在日志记录功能的问题。 AMF string parameters- 内AMF编码的邮件的任何字符串数据的值。 REST-style URL parameters - URL的文件路径部分中的全部目录和文件名令牌的值。测试每个插入点能够并处显著开销,若是你相信应用程序使用这些位置传送参数数据,才应使用。

2)Change Parameter Locations

容许您配置扫描仪将一些类型的插入点到其余地点的请求中,除了测试他们在原来的位置。例如,您能够将每一个URL参数到邮件正文中,并从新测试它。或者你能够移动身体的每一个参数到一个cookie ,而后从新测试它。
用这种移动参数方式每每能够绕过防过滤器。许多应用程序和应用程序防火墙执行每一个参数输入验证假设每一个参数是它的预期位置的要求以内。移动参数到不一样的位置能够回避这个验证。当应用程序代码后检索参数来实现其主要的逻辑,它可能会使用一个API,它是不可知的,以参数的位置。若是是这样,那么移动的参数可能能够使用输入,一般会在处理以前被过滤,以达到易受攻击的代码路径。
下列选项可用于更改参数的位置:

?
1
URL to body URL to cookie Body to URL Body to cookie Cookie to URL Cookie to body

3)Nested Insertion Points

嵌套的插入时,会使用一个插入点的基值包含可识别的格式的数据。 例如,一个URL参数可能包含Base64编码数据,而且将解码后的值可能又包含JSON或XML数据。与使用启用嵌套插入点的选项,Burp会为输入在每一个嵌套级别中的每一个单独的项目适合的插入点。 Spider仅包含常规的请求参数请求时使用此选项不征收费用,但容许Burp达到更复杂的应用,数据是在不一样的格式封装的攻击面。

4)Maximum Insertion Points Per Request

不管你的设置选择,对于单个请求插入点的数目,通常视乎该请求的功能,如参数的数目。偶尔,请求能够包含的参数(几百或更多)数量。若是Burp执行的每一个参数进行彻底扫描,扫描会花费过多的时间量完成。 此设置容许您设置的,将每一个基本要求生成插入点的数量的限制,从而防止您的扫描由偏快转为停滞,若是他们遇到含参数庞大的数字请求。在其中插入点的数量是由这个限制缩减的状况下,在有效扫描队列中的项目的条目将显示被跳过的插入点的数量,使您可以手动检查基本要求,并决定是否值得执行彻底扫描其全部可能的插入点。

5)Skipping Parameters

设定让您指定请求参数的Burp应该跳过某些测试。有跳过服务器端注入测试(如SQL注入)和跳过全部检查单独的列表。 服务器端注入测试是比较费时的,由于Burp发送多个请求探测服务器上的各类盲目的漏洞。若是您认为出现请求中的某些参数不容易(例如,内置仅由平台或Web服务器中使用的参数) ,你能够告诉Burp不能测试这些。 (用于测试客户端蝽象跨站点脚本涉及更少的开销,由于测试每一个参数规定最小的开销在扫描期间,若是该参数不容易。 ) 若是一个参数是由您不但愿测试一个应用程序组件来处理,或者修改一个参数是已知的致使应用程序不稳定跳过全部的测试多是有用的。 列表中的每一个项目指定参数类型,该项目要匹配(名称或值) ,匹配类型(文本字符串或正则表达式) ,表达式匹配。 你能够经过它们的位置(斜线分隔)的URL路径中标识的REST参数。要作到这一点,从参数下拉,“姓名”,从项目下拉“ REST参数” ,并指定您但愿从测试中排除的URL路径中的位置的索引号(从1开始) 。您还能够经过值来指定REST参数。

Active Scanning Engine

控制用来作主动扫描时发出HTTP请求的引擎。下列选项可用:
Image077

?
1
1 )Number of threads - 控制并发请求数。 2 )Number of retries on network failure - 若是出现链接错误或其余网络问题,Burp会放弃和移动以前重试的请求指定的次数。测试时间歇性网络故障是常见的,因此最好是在发生故障时重试该请求了好几回。 3 )Pause before retry - 当重试失败的请求,Burp会等待指定的时间(以毫秒为单位)如下,而后重试失败。若是服务器宕机,繁忙,或间歇性的问题发生,最好是等待很短的时间,而后重试。

Throttle between requests - 在每次请求以前等待一个指定的延迟(以毫秒为单位)。此选项颇有用,以免超载应用程序,或者是更隐蔽。
Add random variations to throttle - 经过下降您的要求的时序模式进一步增长隐身。
Follow redirections where necessary- 有些漏洞只能经过下面的重定向进行检测(例如,在一条错误消息,跨站点脚本这是只有下列一个重定向后退还)。由于某些应用程序的问题重定向到包含您所提交的参数值的第三方网址,BurpSuite保护您免受无心中攻击的第三方应用程序,不按照刚刚收取任何重定向。若是所扫描的要求是明确的目标范围以内(即您使用的是目标范围,以控制哪些被扫描的),而后BurpSuite只会跟随重定向是指同一范围内。若是所扫描的要求不在范围内(即你已经手动发起超出范围的请求的扫描),BurpSuite只会跟随重定向其中(a)是在同一台主机/端口的请求被扫描;及(b)没有明确涵盖的范围排除规则(如“logout.aspx”)。
当心使用这些选项可以让您微调扫描引擎,根据不一样应用对性能的影响,并在本身的处理能力和带宽。若是您发现该扫描仪运行缓慢,但应用程序表现良好和你本身的CPU利用率很低,能够增长线程数,让您的扫描进行得更快。若是您发现链接错误发生,该应用程序正在放缓,或者说本身的电脑被锁定了,你应该减小线程数,也许增长网络故障和重试之间的间隔重试的次数。若是应用程序的功能是这样的:在一个基地的要求执行的操做干扰其余请求返回的响应,你应考虑减小线程数为1,以确保只有一个单碱基请求被扫描的时间。

Active Scanning Optimization

主动扫描逻辑的行为,以反映扫描的目的和目标应用程序的性质。例如,您能够选择更容易发现问题,在一个大型应用程序的快速扫描;或者您能够执行更慢全面扫描,以发现更难,并且须要更多的扫描请求,以检测问题。
Image079
下列选项可用:
Scan speed(扫描速度) - 该选项决定完全的某些扫描检查,怎么会检查是否有漏洞时。 “Fast(快速)”设置使更少的请求,并检查一些漏洞更少的推导。在“Thorough(完全)”的设置使更多的请求,并检查更多的衍生类型的漏洞。 “Normal(正常)”设定为中途在二者之间,而且表明速度和完整性之间的适当折衷对于许多应用。
Scan accuracy(扫描精度) - 此选项决定的证据代表,扫描仪会报告某些类型的漏洞以前,要求的金额。能够只使用“blind(盲)”的技术,其中,Burp推断可能存在基于某些观察到的行为,如时间延迟或一个差分响应的一个漏洞被检测到的一些问题。由于这些观察到的行为的发生缘由,不管如何,在没有相关联的漏洞的影响,该技术自己更容易出现假阳性比其余技术,例如在观察错误消息。试图减小误报,BurpSuite重复某些测试了一些,当一个假定的问题,推断时间,尝试创建提交的输入和观察到的行为之间有可靠的相关性。的准确性选项用于控制BurpSuite会多少次重试这些测试。在“Minimize false negatives(最小化假阴性)”的设置进行重试较少,所以更可能报告假阳性的问题,但也不太可能会错过因为不一致的应用程序行为的真正问题。在“Minimize false positives(最小化误报)”设置进行更多的试,因此是不太可能报告假阳性的问题,但可能会所以错误地错过了一些真正的问题,由于有些重试请求可能只是碰巧不返回结果是测试。 “Normal(正常)”设置为中途二者之间,并表明之间的假阳性和假阴性的问题合适的权衡对于许多应用。
Use intelligent attack selection(使用智能进攻选择) - 此选项使经过省略出现可有可无给每一个插入点参数的基值支票扫描更有效率。例如,若是一个参数值包含不正常出如今文件名中的字符,BurpSuite会跳过文件路径遍历检查此参数。使用这个选项,能够加快扫描件,具备相对低的存在缺乏实际的漏洞的风险。

Active Scanning Areas

定义哪些是主动扫描过程当中进行检查。是检查如下类别可供选择:
Image081

?
1
SQL injection(SQL注入) - 这有子选项,以使不一样的测试技术(偏差为基础,延时测试,布尔条件测试) ,而且也使检查特定于单个数据库类型( MSSQL ,Oracle和MySQL的) 。 OS command injection(操做系统命令注入) - 这有子选项,以使不一样的测试技术.。 Reflected XSS(反映了跨站点脚本) Stored XSS(存储的跨站点脚本) File path traversal(文件路径遍历) HTTP header injection(HTTP头注入) XML/SOAP injection(XML / SOAP注射) LDAP injection(LDAP注入) Open redirection(开放重定向) Header manipulation(头操纵) Server-level issues服务器级的问题

所执行的每一个检查增长的请求的数目,以及每一个扫描的总时间。您能够打开或关闭个别检查根据您的应用程序的技术知识。例如,若是你知道某个应用程序不使用任何LDAP ,您能够关闭LDAP注入测试。若是你知道哪一个后端数据库的应用程序使用,你能够关闭SQL注入检测特定于其余类型的数据库。您也能够选择性地启用基于你如何严格要求你的扫描是检查。例如,您能够配置BurpSuite作应用程序的快速一次过,只为XSS和SQL注入的网址和参数检查,每漏洞类型更全面的测试在每个插入点以前。

Passive Scanning Areas

自定义的请求和响应的各个方面在被动扫描检查。下列选项可用:
Image083

?
1
Headers--头 Forms--表格 Links--连接 Parameters--参数 Cookie MIME类型 Caching缓存 Information disclosure--信息披露 Frameable responses--耐燃反应(“点击劫持”) ASP.NET的ViewState 须要注意的是被动扫描不会派出本身的任何要求,和每一个被动强加检查您的计算机上一个微不足道的处理负荷。不过,你能够禁用检查各个领域,若是你根本就不关心他们,不但愿他们出如今扫描结果。

Intruder

Burp intruder是一个强大的工具,用于自动对Web应用程序自定义的攻击。它能够用来自动执行全部类型的任务您的测试过程当中可能出现的。
Image085
Image087
要开始去了解BurpSuite Intruder,执行如下步骤:

?
1
1 )首先,确保Burp安装并运行,而且您已配置您的浏览器与Burp工做。 2 )若是你尚未这样作的话,浏览周围的一些目标应用程序,来填充的应用程序的内容和功能的详细信息Burp的SiteMap。在这样作以前,要加快速度,进入代理服务器选项卡,而后截取子标签,并关闭代理拦截(若是按钮显示为“Intercept is On”,而后点击它来截取状态切换为关闭) 。 3 )转到Proxy选项卡,并在History选项卡。发现一个有趣的前瞻性要求,您的目标应用程序,包含了一些参数。选择这个单一的请求,而后从上下文菜单中选择“Send to intruder” 。 4 )转到Intruder标签。Burp Intruder可让你同时配置多个攻击。您Send to Intruder的每一个请求在本身的攻击选项卡中打开,而这些都是顺序编号的默认。您能够双击标签头重命名选项卡,拖动标签来从新排序,而且还关闭和打开新的标签页。 5 )为您发送请求创建的Intruder选项卡,看看Target和Positions选项卡。这些已经自动填入您发送的请求的细节。 6 )Burp Intruder本质工做,采起了基本模板的要求(你送到那里的那个) ,经过一些payloads的循环,将这些payloads送入定义的Positions,基本要求范围内,并发出每一个结果的要求。位置标签用于配置,其中有效载荷将被插入到基本要求的位置。你能够看到,BurpSuite一直在你想用来放置有效载荷自动进行猜想。默认状况下,有效载荷放入全部的请求参数和cookie的值。每对有效载荷标记定义了一个有效载荷的位置,而且能够从基体的要求,这将被替换的有效载荷的内容,当该payload position用于括一些文本。有关进一步详情,请参阅Payload Markers的帮助。 7 )旁边的请求编辑器中的按钮能够被用于添加和清除有效载荷的标志。试着增长payload position在新的地点请求中,并删除其余标志物,并看到效果了。当你理解了payload positions是如何工做的,请单击“Auto§ ”按钮恢复到BurpSuite为您配置的默认payload positions。若是你修改了请求自己的文本,能够重复步骤 3 建立与它的原始请求一个新的Intruder的攻击选项卡。

Image089

?
1
8 )转到Payloads选项卡。这使您能够定义将要放入已定义的有效载荷仓的有效载荷。保持默认设置(使用有效载荷的“Simple list” ) ,并添加一些测试字符串到列表中。您能够经过输入到“Enter a new item”框中,单击“add”,输入本身的字符串。或者您能够使用“add from file”下拉菜单,而后选择“Fuzzing-quick”,从内置的负载串[专业版]列表中。 9 )如今,您已经配置了最低限度的选项来发动攻击。转到Intruder菜单,而后选择“Start attack” 。 10 )在包含在结果选项卡一个新的窗口中打开攻击。结果表包含已经取得,与各关键细节,如所使用的有效载荷, HTTP状态码,响应长度等,您能够在表中选择任何项目,以查看完整的请求和响应每一个请求的条目。您还能够对表进行排序经过单击列标题,并使用过滤器栏过滤表中的内容。这些特征以相同的方式工做,做为Proxy history。 11 )此次袭击窗口包含其余标签,显示被用于当前攻击的配置。您能够修改大部分这种配置的攻击已经开始。转到选项选项卡,向下滚动到“ grep-match” ,并勾选“标志的结果与项目相匹配的响应这些表达式” 。这将致使Intruder检查响应匹配列表中的每一个表达式项目和标志的火柴。默认状况下,列表显示fuzzing时是颇有用的一些常见的错误字符串,但能够配置,若是你想本身的字符串。返回result选项卡,看到Intruder增长了对每一个项目列在列表中,而这些包含复选框,指示表达式是否被发如今每个响应。若是你是幸运的,你的基本模糊测试可能引起一个错误的存在在一些回应的错误消息。 12 )如今,在表中选择任何项目,并期待在该项目的响应。发如今反应(如网页标题,或错误消息)一个有趣的字符串。右键单击该项目在表中,而后从上下文菜单中选择“Define extrace grep from response” 。在对话框中,选择响应的有趣字符串,而后单击“肯定” 。结果表中如今包含一个新的列,其提取这一段文字从每一个响应(其能够是不一样的在每一种状况下) 。您能够使用此功能来定位在大型攻击有趣的数据与成千上万的反应。请注意,您还能够配置“extrace grep ”项目中的选项选项卡,在此以前前或在攻击期间。 13 )在结果表中选择任一项目,并打开上下文菜单。选择“Send to Repeater” ,而后转到Repeater选项卡。你会看到所选的请求已被复制到Repeater工具,进行进一步的测试。许多其余有用的选项是可用的上下文菜单中。有关发送BurpSuite工具之间的项目,使总体测试工做流程的详细信息。 14 )您能够使用“Save”菜单在结果窗口中都救不结果表或整个攻击。你能够加载结果表到其余工具或电子表格程序。您能够经过在主Burp的UI Intruder菜单从新加载保存的攻击。 15 )这些步骤只介绍一个简单的用例Intruder,对于Fuzzing的要求有一些标准的攻击字符串和用grep搜索中的错误消息。您能够使用Intruder许多不一样类型的攻击,有许多不一样的payloads和攻击选项。

Using Burp Intruder

for example 这里我本地搭建一个环境,爆破一个php大马,若是是一句话就把get改为post,若是是php一句话,就在下面加上php这行代码,如图
Image091

?
1
asp     password=execute( "response.clear:response.write(" "passwordright" "):response.end" ) php     password=execute( "response.clear:response.write(" "elseHelloWorld" "):response.end" ) aspx    password=execute( "response.clear:response.write(" "elseHelloWorld" "):response.end" )。

通常步骤以下
1.代理好服务器地址,而后访问这个大马地址
Image093
2.随后点击forward,而且在大马页面随便输入什么,burp拦截了数据以后发送到repeater
Image095
3.切换到repeater选项卡中,点击go按钮,找出一些反馈的错误信息,固然若是不要也能够,这里找错误信息是方便爆破成功了以后便于发现,我这个马反馈的是中文错误信息,显示是乱码就不写了,咱们能够经过爆破成功了以后看字节数。 4.接下来就是发送到intruder,target通常都不须要管,已经自动填好了,而后选择positions
Image097
先点击Clear$,选择密码地地方点击add$。
Image099
5.切换到payloads设置payload type,选择咱们本身的字典
Image101
6.切换到options去设置进程数和失败以后重试次数、过滤结果
Image103
通常我都会把Grep-Match清理掉,免得干扰。
Image105
7.接下来点击intruder下的start attack就开始爆破了,密码admin,我是根据length来判断跟其余的不一样
Image107
附赠一个webshell字典:shellpassword.txt.zip

Target

用于配置目标服务器进行攻击的详细信息。所需的选项有: Host(主机) - 这是目标服务器的IP地址或主机名。 Port(端口) - 这是HTTP / S服务的端口号。 Use HTTPS(使用HTTPS),这指定的SSL是否应该被使用。 配置这些细节最简单的方法是选择你要攻击中BurpSuite的任何地方的请求,并选择上下文菜单中的“Send to intruder”选项。这将发送选定的请求,在intruder一个新的选项卡,将自动填充的目标和位置选项卡。

Positions

用于配置request temlate的攻击,和payloads markers、attack type一块儿。

Request Template

主要请求编辑器是用来定义从全部攻击请求都将被导出的请求模板。对于每个攻击的请求,BurpSuite接受请求的模板,并把一个或多个有效载荷送入由有效载荷标记定义的位置。 成立请求模板的最简单的方法是选择你要攻击中BurpSuite的任何地方的请求,并选择上下文菜单中的“Send to intruder”选项。这将发送选定的请求,在intruder的选项卡,将自动填充的Target和Positions选项卡。

Payload Markers

有效载荷的标记是使用§字符,而且功能以下放置:

?
1
1 )每对标记指定一个有效载荷的位置。 2 )一对标记物能够从它们之间任选的模板要求附上一些文字。 3 )当一个有效载荷的位置被分配了一个有效载荷,不管是标记和任何包含的文本将被替换为有效载荷。 4 )当一个有效载荷的位置不具备分配的有效载荷,该标记将被删除,可是所包含的文本保持不变。

为了使配置更加简单,Intruder会自动突出显示每对有效载荷的标记和任何它们之间包含的文本。
您能够手动或自动作有效载荷标记。当您从BurpSuite别处发送一个请求到Intruder,Intruder猜想你可能要放置有效载荷,并设置相应的有效载荷标记。您能够修改使用按钮的默认有效载荷标记旁边的请求模板编辑器:
Add§ - 若是没有文本被选中,该插入一个有效载荷标记在光标位置。若是您已经选择了一些文字,一对标记插入封闭选定的文本。 Clear§ - 这将删除全部的位置标记,不管是从整个模板或模板的选定部分。 Auto§ - 自动放置有效载荷标记。包括价值:

?
1
1 )URL查询字符串参数 2 )车身参数 3 )曲奇饼 4 )多重参数属性(例如,在文件上传的文件名) 5 )XML数据和元素属性 6 )JSON参数

您能够配置自动负载位置是否将更换或追加到现有的参数值,经过入侵者菜单上的选项。须要注意的是,若是一个子部分的要求,但不是整个消息体,包含格式化数据使用XML或JSON ,能够自动经过这种结构中的位置的有效载荷手动选择格式化数据的准确块,并使用“自动”按钮在其定位的有效载荷。这是有用的,例如,当一个多参数的值包含在XML或JSON格式数据。

?
1
刷新 - 这将刷新请求模板编辑器的语法彩色化,若是必要的。 清除 - 这会删除整个请求模板。

注意:您也能够使用入侵者的有效载荷仓的UI经过BurpSuite扫描仪配置自定义插入点主动扫描。要作到这一点,配置请求模板和有效载荷在标记内入侵者一般的方式,而后选择从入侵者菜单中的“主动扫描定义插入点” 。

Attack type

Burp Intruder支持各类攻击类型 - 这些决定在何种负载分配给有效载荷仓的方式。攻击类型能够使用请求模板编辑器上方的下拉菜单进行选择。如下攻击类型可供选择:
Image109
Sniper(狙击手) - 这将使用一套单一的payloads。它的目标依次在每一个有效载荷的位置,并把每一个有效载荷送入依次那个位置。这不是针对一个给定的请求的位置不受影响 - 位置标记被移除,并在它们之间出如今模板中任何封闭文本保持不变。这种攻击类型为个别模糊测试的一些请求参数常见的漏洞很是有用。在攻击中生成的请求的总数是位置的数目和在有效载荷中设定的有效载荷的数量的乘积。
Battering ram(撞击物) - 使用一组payload。经过迭代的有效载荷方式,并将相同的payloads再一次填充到全部已定义的有效载荷仓。当其中一个攻击须要相同的输入将被插入在多个地方在请求中(例如,一个Cookie中的用户名和cookie参数)对这种攻击类型是很是有用的。在攻击中生成的请求的总数是有效载荷的有效载荷中设定的数目。
Image111
Image113
例如生成一组数字1-9,则就是1-1 ,2-2,3-3这种形式 Pitchfork(相交叉) - 这将使用多个payloads集。有对每一个定义的位置(最多20个)不一样的有效载荷组。经过设置全部有效载荷的攻击迭代的方式,并将一个有效载荷到每一个定义的位置。
Image115
Image117
例如设置多个,每一个payload设置一个字典,则就是1-1-1,2-2-2,3-3-3这种形式
换句话说,第一个请求将放置第一个有效载荷的Payload set 1到Positions 1 ,并从有效载荷中的第一个Payload set 2到Positons 2 ;第二个请求将放置第二个Payload set 1到Positions 1 ,并从payload中的第二个Payload set 2到Postions2 ,等在那里的攻击须要不一样但相关的输入进行插在多个地方,这种攻击类型是有用的请求(例如,用户名中的一个参数,和对应于该用户名中的另外一个参数已知的ID号) 。在攻击中生成的请求的总数是有效载荷中的最小有效载荷组的数目。
Cluster bomb(集束炸弹) - 使用多个Payload sets。有对每一个定义的Positions(最多20个)设置不一样的payload set。经过每一个有效载荷的攻击迭代依次设置,使有效载荷组合的全部排列进行测试。
例如设置三个字典都是10个数,则总共有1000总匹配的模式
Image119
也就是说,若是有两个有效载荷的位置,则该攻击将放置第一个有效载荷从payload set 2到Positions 2 ,并经过在有效负载的全部 payload set 1中的positions 1 ;而后它将第二个有效载荷从载荷设置2到位置2 ,并经过有效载荷所有载入循环设置1到位置1 。其中一个攻击须要不一样的和无关的或未知输入要在多个地方插入这种类型的攻击是很是有用的在请求中(例如猜想凭证,在一个参数的用户名,而且在另外一个参数密码时) 。在攻击中生成的请求的总数是在全部定义的有效载荷的有效载荷集的数目的乘积 - 这多是很是大的。

Payloads

Types

Burp Intruder包含如下几种attack type:

?
1
Simple list--简单字典 Runtime file--运行文件 Custom iterator--自定义迭代器 Character substitution--字符替换

此负载类型容许您配置一个字符串列表,并应用各类字符替换到每一个项目。这多是在密码猜想攻击很是有用,用来产生在字典中的单词常见的变化。 用户界面容许您配置了一些字符替换。当执行攻击,有效载荷类型工程经过逐一配置的列表项。对于每一个项目,它产生一个数的有效载荷,根据所定义的取代基包括取代的字符的全部排列。例如,默认替换规则(其中包括e>3且t>7),该项目“peter”将产生如下的有效载荷:

?
1
peter p3ter pe7er p37er pet3r p3t3r pe73r p373r

Case modification--此负载类型容许您配置一个字符串列表,并应用各类状况下修改每一个项目。这多是密码猜想攻击很是有用,用来产生在字典中的单词的状况下的变化。 能够选择如下的状况下修改规则:

?
1
No change - 这个项目能够用不被修改。 To lower case - 在该项目的全部字母转换为小写。 To upper case - 在该项目的全部字母转换为大写。 To Propername - 在该项目的第一个字母转换为大写,以及随后的字母转换为小写。 To ProperName - 在该项目的第一个字母转换为大写,以及随后的字母都不会改变。

例如:

?
1
Peter Wiener peter wiener PETER WIENER Peter wiener

选项:

?
1
Recursive grep--递归grep Illegal Unicode--非法的Unicode Character blocks--字符块 Numbers--数字 Dates--日期 Brute forcer--暴力 Null payloads--空的有效负载 Character frobber--性格frobber Bit flipper--位翻转 Username generator--用户名生成器 ECB block shuffler--欧洲央行座洗牌 Extension-generated--扩展生成 Copy other payload--复制其它有效负载

Processing

由配置的有效载荷类型生成的有效载荷能够使用各类有效载荷的处理规则和有效负载编码能够进一步操纵。

1)Payload Processing Rules

在它被使用以前能够定义规则来对每一个有效载荷执行各类处理任务。该定义的规则按顺序执行,而且能够打开和关闭,以帮助调试与配置的任何问题。有效载荷的处理规则是有用的在多种状况下,你须要生成不一样寻常的有效载荷,或者须要在一个更普遍的结构或在使用前编码方案包的有效载荷可达。
Image121

?
1
Add prefix - 添加一个文字前缀 Add suffix - 添加一个文字后缀 Match/replace - 将替换匹配特定正则表达式的有效载荷的任何部位,用一个文字字符串表示。 Substring - 提取的有效载荷的子部分中,从指定的偏移量( 0 -索引)和至所指定的长度开始。 Reverse substring - 对于子规则来讲,最终的偏移量指定的有效载荷的末尾向后计数,而且长度从端部向后偏移计数。 Modify case - 这个修改了的有效载荷的状况下,若是适用的话。一样的选项做为的状况下修改有效载荷类型。 Encode - URL,HTML,Base64的,ASCII码或十六进制字符串构建各类平台:采用不一样的计划,该编码的有效载荷。 Hash - hash Add raw payload - 这以前或以后,在当前处理的值增长了原始负载值。它能够是有用的,例如,若是你须要提交相同的有效载荷在raw和哈希表。 Skip raw payload - 将检查是否当前处理的值匹配指定的正则表达式,若是是这样,跳过有效载荷和移动到下一个。这多是有用的,例如,若是知道一个参数值必须有一个最小长度和要跳过的一个列表,比这更短的长度的任何值。 Invoke Burp extension - 调用一个Burp exxtension(扩展)来处理负载。扩展名必须已注册入侵者有效载荷处理器。您能够从已注册的当前加载的扩展可用的处理器列表中选择所需的处理器。

是规则的如下类型:

2)Payload Encoding

你能够配置哪些有效载荷中的字符应该是URL编码的HTTP请求中的安全传输。任何已配置的URL编码最后应用,任何有效载荷处理规则执行以后。 这是推荐使用此设置进行最终URL编码,而不是一个有效载荷处理规则,由于能够用来有效载荷的grep选项来检查响应为呼应有效载荷的最终URL编码应用以前。...

Optins

此选项卡包含了request headers,request engine,attack results ,grep match,grep_extrack,grep payloads和redirections。你能够发动攻击以前,在主要Intruder的UI上编辑这些选项,大部分设置也能够在攻击时对已在运行的窗口进行修改。

Request Headers

这些设置控制在攻击Intruder(入侵者)是否更新配置请求头。请注意,您能够彻底控制请求头经过在Payload positions(有效载荷位置)标签的要求范围内。这些选项能够用来更新每一个请求的报头的方式,一般是有帮助的。
下列选项可用:
Update Content-length header(更新Content-Length头) - 此选项使Intruder(入侵者)添加或更新的Content-Length头的每一个请求,与该特定请求的HTTP体的长度正确的值。此功能一般用于该插入可变长度的有效载荷送入模板的HTTP请求的主体的攻击相当重要。若是未指定正确的值,则目标服务器可能会返回一个错误,可能不彻底响应请求,或者可能无限期地等待在请求继续接收数据。
Set Connection:close(设置链接:关闭) - 此选项使Intruder(入侵者)添加或更新链接头的值为“close(关闭)” 。在某些状况下(当服务器自己并不返回一个有效的Content-Length或Transfer-Encoding头) ,这个选项可让攻击更快速地执行。

Request Engine

设置控制用于发出HTTP请求中的Intruder(入侵者)攻击的Engine(引擎)。下列选项可用:

?
1
Number of threads(执行进程数) - [专业版]该选项控制并发请求数的攻击。 Number of retries on network failure(网络故障的重试次数) - 若是出现链接错误或其余网络问题,Burp会放弃和移动以前重试的请求指定的次数。测试时间歇性网络故障是常见的,因此最好是在发生故障时重试该请求了好几回。 Pause before retry(重试前暂停) - 当重试失败的请求,Burp会等待指定的时间(以毫秒为单位) ,而后重试失败如下。若是服务器被宕机,繁忙,或间歇性的问题发生,最好是等待很短的时间,而后重试。 Throttle between requests(请求之间的节流) - Burp能够在每次请求以前等待一个指定的延迟(以毫秒为单位) 。此选项颇有用,以免超载应用程序,或者是更隐蔽。或者,您能够配置一个可变延迟(与给定的初始值和增量) 。这个选项能够是有用的测试应用程序执行的会话超时时间间隔。 Start time(开始时间) - 此选项容许您配置攻击当即启动,或在指定的延迟后,或开始处于暂停状态。若是攻击被配置,将在将来的某个时刻以供未来使用被执行,或保存这些替代品多是有用的。

当心使用这些选项可以让您微调攻击引擎,这取决于对应用程序性能的影响,并在本身的处理能力和带宽。若是您发现该攻击运行缓慢,但应用程序表现良好和你本身的CPU利用率很低,能够增长线程数,使你的攻击进行得更快。若是您发现链接错误发生,该应用程序正在放缓,或者说本身的电脑被锁定了,你应该减小线程数,也许增长网络故障和重试之间的间隔重试的次数。

Attack Results

这些设置控制哪些信息被捕获的攻击效果。下列选项可用:

?
1
Store requests/responses(存储请求/响应) - 这些选项肯定攻击是否会保存单个请求和响应的内容。保存请求和响应占用磁盘空间,在你的临时目录中,但可让您在攻击期间在众目睽睽这些,若是有必要重复单个请求,并将其发送到其余Burp工具。 Make unmodified baseline request(未修改的基本请求) - 若是选择此选项,那么除了配置的攻击请求,Burp会发出模板请求设置为基值,全部有效载荷的位置。此请求将在结果表显示为项目# 0 。使用此选项颇有用,提供一个用来比较的攻击响应基地的响应。 Use denial-of-service mode(使用拒绝服务的模式) - 若是选择此选项,那么攻击会发出请求,如正常,但不会等待处理从服务器收到任何答复。只要发出的每一个请求, TCP链接将被关闭。这个功能能够被用来执行拒绝服务的应用层对脆弱的应用程序的攻击,经过重复发送该启动高负荷任务的服务器上,同时避免经过举办开放套接字等待服务器响应锁定了本地资源的请求。 Store full payloads(保存完整的有效载荷) - 若是选择此选项,Burp将存储所有有效载荷值的结果。此选项会占用额外的内存,但若是你想在运行时执行某些操做,如修改payload grep setting(有效负载值设置),或从新发出请求与修改请求模板可能须要。

Grep-Match

设置可用于包含在响应中指定的表达式标志结果的项目。对于配置列表中的每一个项目,Burp会添加一个包含一个复选框,指出项目是否被发如今每一个响应的新成果列。而后,您能够到组排序此列(经过单击列标题)匹配的结果相加。
使用此选项能够是很是强大的,帮助分析大套的成绩,并迅速找出有趣的项目。例如,在口令猜想攻击,扫描短语,如“password incorrect(密码不正确)”或“login successful(登陆成功)”,能够找到成功登陆;在测试SQL注入漏洞,扫描含有“ ODBC ” , “error(错误)”等消息能够识别易受攻击的参数。
除了表达式匹配的列表,下列选项可用:

?
1
Match(匹配类型) - 指定的表达式是不是简单的字符串或regular expressions(正则表达式)。 Case sensitive match(区分大小写的匹配) - 指定检查表达式是否应区分大小写。 Exclude HTTP headers(不包括HTTP头) - 指定的HTTP响应头是否应被排除在检查。

Grep-Extrack

能够被用来Extrack(提取)从反应有用的信息进入攻击结果的表。对于配置列表中的每一个项目,Burp会添加一个包含提取该项目的文本的新成果列。而后,您能够排序此列(经过单击列标题)命令所提取的数据。例如我要匹配
Image123
information_schema这个表。则能够这样写,都是须要匹配惟一的那种,也能够使用正则,前提是你会写正则。在乌云社区有人提起过当时怎么匹配手机号,就能够从这里提取。
Image125

Grep-Payloads

设置可用于含有所提交的有效载荷的反射标志的结果项。若是启用该选项,Burp会添加一个包含一个复选框,指示当前负载的值是否被发如今每一个响应的新成果列。 (若是使用一个以上的有效载荷,单独的列将每一个有效载荷集加。 )
此功能能够在检测跨站点脚本和其余应对注入漏洞,它能够出如今用户输入动态地插入到应用程序的响应是有用的。
下列选项可用:

?
1
Case sensitive match(区分大小写的匹配) - 指定检查payload(负载)是否应区分大小写。 Exclude HTTP headers(不包括HTTP头) - 这指定的HTTP响应头是否应被排除在检查。 Match against pre-URL-encoded payloads(对预URL编码的有效载荷匹配) - 这是正常的配置Inturder(入侵者)请求中URL编码的有效载荷。然而,这些一般是由应用程序解码,回荡在他们的原始形式。您能够使用此选项,以用于有效载荷Burp检查反应在他们的预编码形式。

Redirections

控制Burp在进行攻击时如何处理重定向。它每每是要遵循重定向来实现你的攻击目标。例如,在一个口令猜想攻击,每一次尝试的结果可能只能经过下面的重定向显示。模糊测试的时候,相关的反馈可能只出如今最初的重定向响应后返回的错误消息。
下列选项可用: Follow redirections(跟随重定向) - 控制重定向都遵循的目标。下列选项可用:

?
1
1 )Never(历来没有) - 入侵者不会遵循任何重定向。 2 )On-site only(现场惟一的) - 入侵者只会跟随重定向到同一个网页“网站” ,即便用相同的主机,端口和协议的是在原始请求使用的URL 。 3 )In-scope only(调查范围内的惟一) - Intruder只会跟随重定向到该套件范围的目标范围以内的URL 。 4 )Always(老是) - Intruder将遵循重定向到任何任何URL 。您应使用此选项时应谨慎 - 偶尔, Web应用程序在中继重定向到第三方的请求参数,并按照重定向你可能会不当心攻击。

Process cookies in redirections(过程当中的Cookie重定向) - 若是选择此选项,而后在重定向响应设置任何cookies将被当重定向目标以后从新提交。例如,若是你正在尝试暴力破解登陆的挑战就多是必要的,它老是返回一个重定向到一个页面显示登陆的结果,和一个新的会话响应每一个登陆尝试建立。
Burp会跟进到10链重定向,若是必要的。在结果表中的列将显示重定向是否其次为每一个单独的结果,以及完整的请求和响应中的重定向链存储与每一个结果的项目。重定向的类型Burp会处理( 3xx的状态码,刷新头,等)配置在一套全重定向选项。
注意重定向: 在某些状况下,可能须要下面的重定向时只使用一个单线程的攻击。出现这种状况时,应用程序存储会话中的初始请求的结果,并提供重定向响应时检索此。
自动下重定向有时可能会形成问题 - 例如,若是应用程序响应一个重定向到注销页面的一些恶意的请求,那么下面的重定向可能会致使您的会话被终止时,它本来不会这么作。

Attacks

当你配置完你的攻击设置时,你须要launch the attacks(发起攻击),analyze the results(分析结果),有时修改攻击配置,与您的测试工做流程连接,或进行其余操做。

Launching an Attack

攻击能够经过两种方式启动:

?
1
1 )您能够配置Target(目标),Positions(位置),Payloads(有效载荷)和Options(选项卡)的攻击设置,而后选择从Intruder(入侵者)菜单“Start attack(开始攻击)”。 2 )您能够经过从Intruder menu(入侵者菜单)中选择“previously saved attack(打开保存的攻击)”打开之前保存的攻击。

在单独的窗口中每次攻击会打开。该窗口显示攻击为它们生成的结果,使您可以修改攻击配置实时,并与您的测试工做流程连接,或进行其余操做。

Result Tab

在结果选项卡包含在攻击发出的每一个请求的所有细节。你能够过滤并标注此信息来帮助分析它,并使用它来驱动您的测试工做流程。

1)Results Table

Results Table显示已在attack中全部的请求和响应的详细信息。根据不一样的攻击配置,表可能包含如下几列,其中一些是默认隐藏的,能够使用Columns菜单 中取消隐藏:
Image127
Image129
request 请求数 Position 有效载荷位置编号 Payload 有效载荷 Status http状态 Error 请求错误 Timeout 超时 Length 字节数 Comment 注释

2)Display Filter

结果选项卡,能够用来隐藏某些内容从视图中,以使其更易于分析和对你感兴趣的工做内容显示过滤在结果表中。点击过滤器栏打开要编辑的过滤器选项。该过滤器能够基于如下属性进行配置:
Image131

?
1
Search term(检索词) - [专业版]您能够筛选反应是否不包含指定的搜索词。您能够设定搜索词是不是一个文字字符串或正则表达式,以及是否区分大小写。若是您选择了“negative search(消极搜索)”选项,而后不匹配的搜索词惟一的项目将被显示。 Status code(状态代码) - 您能够配置是否要显示或隐藏各类HTTP状态码响应。 Annotation(注释) - 您能够设定是否显示使用用户提供的评论或只重点项目。在结果表中显示的内容其实是一个视图到基础数据库,并显示过滤器控制什么是包含在该视图。若是设置一个过滤器,隐藏一些项目,这些都没有被删除,只是隐藏起来,若是你取消设置相关的过滤器将再次出现。这意味着您能够使用筛选器来帮助您系统地研究一个大的结果集(例如,从模糊测试包含许多参数的要求)来理解各类不一样的有趣的响应出现。

Attack configuration Tabs

在结果选项卡中,攻击窗口包含每一个从它目前的攻击是基于主界面的配置选项卡中的克隆。这使您可以查看和修改攻击配置,同时进攻正在进行中。有关进一步详情,请参阅各配置选项卡的帮助:目标职位有效载荷选项当修改一个跑动进攻的配置,如下几点值得关注:攻击结构的某些部分是基本的攻击(如攻击类型和有效载荷类型)的结构,而且攻击已经开始以后不能改变。改变配置的某些部分攻击正在运行时,可能会有意想不到的效果。
例如,若是您使用的是数量的有效载荷和编辑字段中,而后更改才会生效,由于每一个键被按下;若是你最初从删除数字字段中,那么攻击可能会忽然完成,由于要字段如今包含一个较小的数字。咱们强烈建议您暂停修改它们的配置运行前的攻击。

Result Menus

结果视图包含几个菜单命令与控制的攻击,并进行其余操做。这些将在下面说明。
Image133
Image135

1)Attack Menu(攻击菜单)

包含的命令pause(暂停),resume(继续)或repeat(重复)攻击。

2)Save Menu(保存菜单)

?
1
attack - 这是用来保存当前攻击的副本,包括结果。保存的文件能够使用从主Burp的UI Intruder菜单中的“打开保存的攻击”选项来从新加载。 Results table - 这是用于对结果表保存为一个文本文件。你能够选择保存的全部行,或仅选定的行。您也能够选择要包括的列,列分隔符。此功能是有用的导出结果到电子表格中,以便进一步分析,或用于保存单个列(如使用提取的grep函数挖掘数据),以用做用于随后的攻击或其它工具的输入文件。 Server responses - 这是用于保存收到的全部请求的所有应答。这些既能够被保存在单独的文件中(顺序编号)或串行级联的序列转换成一个单一的文件。 Attack configuration - 这是用来保存当前正在执行攻击的配置(而不是结果)。您能够从新使用从主Burp的UI Intruder菜单中的“加载配置攻击”选项,攻击配置。

3)Columns Menu(列菜单)

这使您能够选择哪些可用的列是可见的攻击结果表


Repeater

Burp Repeater(中继器)是用于手动操做和补发个别HTTP请求,并分析应用程序的响应一个简单的工具。您能够发送一个内部请求从Burp任何地方到Repeater(中继器),修改请求而且发送它。

Using Burp Repeater

您能够使用中继器用于各类目的,如改变参数值来测试输入为基础的漏洞,发出以特定的顺序要求,以测试逻辑缺陷,并能够屡次重发从Burp Scanning results(扫描结果)的要求手动验证报告的问题。

For example:

 

Image001

Image003

?
1
2
3
4
5
1 )能够从Proxy history、site map、Scanner result里地项目地址详情发送到repeater,能够对页面数据进行修改。  
2 )点击go,发送请求,右边响应请求。  
3 )能够经过“<“和”>“来返回上一次和下一个操做。  
4 )单击”x“能够删除当前测试请求页面,.....表示打开新的标签页  
5 )底部的功能用于搜索条件,能够用正则表达式,底部右边显示匹配结果数  

Issuing Requests

主中继器的用户界面可以让您在多个不一样的请求同时工做,每个在它本身的标签。当你发送请求到中继器,每一件都是在本身的编号标签打开。

每一个选项卡都包含如下项目:

控制发出请求,而后浏览请求的历史。目标服务器的请求将被发送显示 - 你能够点击目标细节来改变这些。

HTTP消息中包含的编辑器将发出的请求。您能够编辑该请求,并一遍又一遍地从新发布它。

HTTP消息编辑器,显示从上次发出的请求接收到的响应。

开始与中继器工做的最简单的方法是选择要在另外一个burp工具(如Proxy history或site map)工做的要求,并在上下文菜单中使用“Send to Repeater(发送到转发器)”选项。这将在中继器建立一个新的请求选项卡,并自动填充目标细节和请求消息的编辑器相关的细节。而后,您能够修改并发出所需的要求。当你的要求准备好发送,点击“go(转到)”按钮,将其发送到服务器。当这个被接收时,与响应长度和一个计时器(以毫秒为单位)一块儿被显示的响应。您能够使用一般的HTTP消息的编辑功能,以帮助分析请求和响应消息,并开展进一步的行动。

Request History

每一个中继器选项卡维护其自身已在它的请求的历史。您能够点击“ <”和“ > ”按钮来向前和向后导航这段历史,并查看每一个请求和响应。您也能够使用下拉按钮以显示历史相邻项的编号列表,并迅速转移给他们。在历史上的任什么时候候,你能够编辑和从新发布当前显示的请求。

Repeater Options

Burp Repeater具备控制其行为的各类选项,包括自动更新的Content- Length头的,拆包的压缩内容,和重定向的下面。你能够经过Repeater(中继器)菜单访问这些选项。

Managing Request Tabs

您能够轻松地管理Repeater的request(请求)选项卡。您能够:
经过双击该选项卡头重命名标签。
经过拖动从新排列标签。
经过单击最右侧的“...”选项卡上打开一个新的标签。
关闭选项卡单击该选项卡标题中的X按钮。

Options

直放站菜单控制的burpRepeater的行为方面。下列选项可用:

Image005

Update Content-length

该选项控制Burp是否自动更新的要求在必要的Content-Length头。使用这个选项一般是必不可少的,当请求消息中包含一个身体。

Unpack gzip/deflate

该选项控制Burp是否自动解压缩在收到的答复的gzip和deflate压缩内容。

Follow redirections

此设置控制是否重定向响应会被自动执行。下列选项可用:

?
1
2
3
4
1 )Never - 中继器将不会跟随任何重定向。  
2 )On-site only - 中继器将只跟随重定向到同一个网页“site”,即便用相同的主机,端口和协议的是在原始请求使用的URL。  
3 )In-scope Only - 中继器将只跟随重定向到该套件范围的目标范围以内的URL。  
4 )Always - 中继器将跟随重定向到任何URL任何责任。您应使用此选项时应谨慎 - 偶尔,Web应用程序在中继重定向到第三方的请求参数,并按照重定向你可能会不当心攻击你不想要的。

Process cookies in redirections

若是选择此选项,而后在重定向响应设置任何cookies将被当重定向目标以后从新提交。

View

此子菜单容许您配置了请求/响应面板的布局。您能够在顶部/底部,左/右拉开,或在选项卡中查看HTTP消息。

Action

此子菜单包含相同的选项,可在经过请求和响应消息编辑器的上下文菜单。

Sequencer

Burp Sequencer是一种用于分析数据项的一个样本中的随机性质量的工具。你能够用它来测试应用程序的session tokens(会话tokens)或其余重要数据项的本意是不可预测的,好比反弹CSRFtokens,密码重置tokens等。

Using Burp Sequencer

Burp Sequencer是一种用于分析在应用程序的会话tokens,而且意图是不可预测的其余重要数据项的随机性质量的工具。

使用Sequencer可能会致使在某些应用中意想不到的效果。直到你彻底熟悉它的功能和设置,你应该只使用Burp Sequencer对非生产系统。

要开始去了解Burp Sequencer,执行如下步骤:

?
1
2
3
1 )首先,确保Burp已安装并运行,您已配置您的浏览器Burp的工做,而且您已经浏览你的目标应用程序来填充你的代理服务器的历史。  
2 )发现发出会话tokens或其余相似的项目,不管是在Set-Cookie头,在一个表单域,或其余地方的代理史上的一个回应。使用上下文菜单中发送的内容到Sequencer。  
3 )转到Sequencer选项卡,而后再选择“live capture(现场捕获请求)”,选择你刚才发送的项目。

Image007

Image009

Image011

?
1
4 )在“Token Location Within Response(tokens位置在回应)”部分,选择在tokens出现的响应的位置。若是标记出如今自定义位置(即不是在一个Set-Cookie头或表单域) ,而后选择“Custon location(自定义位置)”选项,而后在对话框中,选择响应tokens,而后单击“肯定” 。

Image013

?
1
2
5 )在“Select live Captrue Request(选择现场捕获请求)”部分中,单击“Start live capture(开始实时捕获)”按钮。这将致使Burp反复发出原始请求,并extract(提取)全部在响应收到的tokens。实时捕获会话打开一个新窗口,显示捕获的进度,并已得到的tokens数量。当几百tokens已得到,暂停实时捕获会话,而后单击“Analyze now(当即分析)”按钮。  
6 )当分析完成后,会显示出随机性测试的结果。这代表样品中总体摘要,并附有详细的结果为每种类型进行了测试。有简短的文档,结果本身在每一个测试。在某些状况下,你可能已经得到tokens的一个合适的样本。您能够手动加载此样品为Sequnecer,并执行相同的分析。要作到这一点,在主burp的UI ,转到序选项卡,而后手动加载子选项卡。您能够从剪贴板粘贴标记,或从文件中加载它们,并使用“Analyze now(当即分析)”按钮,开始装载样品的分析。

Randomness Tests

Burp Sequencer采用标准统计测试的随机性。这些都是基于对测试的证据试样的假设,并计算发生的观测数据的几率,假设该假说是真实的原则:

Character-Level Analysis

字符级测试在其原始形式tokens的每一个字符位置进行操做。首先,字符设置在每一个位置的大小进行计数- 这是出如今每一个位置上的取样数据中的不一样的字符的数目。而后,下面的测试是使用此信息来进行:

Character count analysis - 此测试可分析tokens内使用在各位置中的字符分配。若是样品是随机生成的,所用的字符的分布多是近似均匀的。在每一个位置上,该测试计算,若是tokens是随机产生所观察到的分布的几率。
Character transition analysis - 此测试可分析样品中的连续符号之间的转换。若是样品是随机生成的,一个字符出如今一个给定的位置,一样可能被随后的下一个标记由一个用于在该位置上的字符中的任何一个。在每一个位置上,该测试计算,若是tokens是随机产生的观察到的转换的几率。

基于上述试验,character-level analysis(字符级分析)计算总体分数,每一个字符位置 - 这是在每一个位置由每一个字符级测试的计算的最低几率。分析而后计数的有效熵各类显着性水平的位的数目。根据它的字符集的大小,每一个位置被分配一个号码的比特(若是有4个字符,3位,若是有8个字符等2位),而且比特的总数等于或高于每显着性水平进行计算。

Bit-Level Analysis

Bit-level test(位级测试)是比字符级测试功能更强大。启用位级的分析,每一个tokens被转换成一组比特,与由字符集的每一个字符位置的大小来肯定的比特的总数。若是任何职位聘用,其大小不是2的圆形电源的字符集,在该位置的样本数据被转换成其大小是两个最接近的较小的圆形电源的字符集。在该位置的数据的部分比特被有效地合并成从该位置所产生的所有位。这个翻译是在被设计为保留原始样本的随机性特色,不会引入或移除任何偏见的方式进行。然而,这种类型的没有进程能够是完美的,它极可能与分析非圆字符集大小的样本将介绍一些不许确到分析结果的过程。当每一个tokens已被转换成一个比特序列,下面的测试是在每一个位的位置进行:

Image015

FIPS monobit test - 此测试分析的1和0的每一个位的位置分布。若是样品是随机产生的,1和0中的数量极可能是近似相等的。在每一个位置上测试计算,若是tokens是随机产生所观察到的分布的几率。对于每个进行的,除了报告中出现的观测数据的几率FIPS测试,Burp Sequncer也记录是否每一位经过或失败的FIPS测试。请注意,经过FIPS标准从新调整Burp Sequencer内任意样本量的工做,而正式规范的FIPS测试假定刚好20,000tokens的样本。所以,若是你但愿获得的结果是严格符合FIPS规范,你应该确保你使用的20,000tokens的样本。

FIPS poker test - 该测试将所述位序列中的每个位置转换成的四个连续的,非重叠的组,并导出一个4位的数量从每一个组。而后计算每一个出现16个可能的数字的数,并进行卡方计算来评估这样的分布。若是样品是随机生成的,四比特数的分布多是近似均匀的。在每一个位置上,该测试计算,若是tokens是随机产生所观察到的分布的几率。
FIPS runs tests - 该测试将所述位序列中的每个位置转换成连续的位具备相同值的运行。而后计算试验次数为1,2,3,4,5,和6及以上的长度。若是样品是随机生成的,运行与每一个这些长度的数量极可能是由样本集的大小所肯定的范围以内。在每一个位置上,该测试计算发生,若是tokens是随机观察到的运行的几率。

FIPS long runs test - 这个测试测量位在每一个位的位置值相同的最长运行。若是样品是随机生成的,最长的运行极可能是由样本集的大小所肯定的范围以内。在每一个位置上,该测试计算,若是tokens是随机产生所观察到的最长的几率。须要注意的是符合FIPS规范这个测试仅记录失败,若是位的最长过于漫长。然而,位过于短最长也代表,样品是否是随机的。所以,某些位可能录得显着性水平是低于FIPS传递,即便他们没有严格失败的FIPS检验水平。

Spectral tests - 该测试执行在每一个位置上的比特序列的复杂的分析,并可以识别非随机性的证据代表,经过其余的统计测试的一些样品中。测试工程经过比特序列以及将每一个系列的连续的数字做为一个多维空间的坐标。它绘出的点在此空间由这些坐标来肯定每一个位置。若是样品是随机生成的,点此空间内的分布多是大体均匀;在该空间内联网的外观表示该数据极可能是不随机的。在每一个位置,测试,计算所观察到的分布存在的,若是tokens是随机的几率。该试验重复进行多种尺寸的数目(1~8位)和用于多个号码的尺寸(2至6)。

Correlation test - 其余各个位级测试工做在采样tokens中的各个位的位置,因此随机性的每一个位的位置量计算隔离。仅执行这种类型的测试将防止随机性的tokens做为一个总体金额的任何有意义的评估:包含在每一个位置相同的位值标记的样本可能会出现含有比含有不一样的值更短的标记的样品更多的熵在每一个位置上。所以,有必要以测试在tokens内的不一样的位位置中的值之间的任何统计学显著关系。若是样品是随机生成的,在给定的比特位置处的值是一样可能伴随着一个或一个零在任何其它位的位置。在每一个位置上,这个测试与计算在出现的其余位置位观察,若是tokens是随机的关系的可能性。为了防止任意的结果,当两个比特之间观察到必定程度的相关性,该测试调整,其显着性水平下是基于全部其余位级测试的位的显着性水平。

Compressoion test - 其余各个位级测试工做在采样tokens中的各个位的位置,因此随机性的每一个位的位置量计算隔离。仅执行这种类型的测试将防止随机性的tokens做为一个总体金额的任何有意义的评估:包含在每一个位置相同的位值标记的样本可能会出现含有比含有不一样的值更短的标记的样品更多的熵在每一个位置上。所以,有必要以测试在tokens内的不一样的位位置中的值之间的任何统计学显著关系。若是样品是随机生成的,在给定的比特位置处的值是一样可能伴随着一个或一个零在任何其它位的位置。在每一个位置上,这个测试与计算在出现的其余位置位观察,若是tokens是随机的关系的可能性。为了防止任意的结果,当两个比特之间观察到必定程度的相关性,该测试调整,其显着性水平下是基于全部其余位级测试的位的显着性水平。

Samples

在一个应用程序的令牌进行随机试验中,首先有必要得到这些令牌的合适的样品。这能够经过两种方式来完成:经过直接从目标进行标记的自动live capture(实时捕捉),或经过Manually loading(手动加载)令牌,你已经取得的样本。

Live Capture

要进行live capture(实时捕捉),你须要找到一个返回响应的地方,你要分析的session token(会话令牌)或其余项目的目标应用程序中的请求。您能够选择在任何地方Burp的请求,而后从上下文菜单中选择“Send to sequencer(发送到音序器)”选项作到这一点。须要对这个请求来配置实况采集的步骤以下所述。

i)Select Live Capture Request - 实时捕获请求列表中显示已发送到音序器从其余burp工具的要求。选择返回你想要分析的标记或其余项目的要求。

ii)Token Location Within Response - 选择令牌出现的应用程序的响应中的位置。

下列选项可用:

?
1
2
3
cookie - 若是响应设置的任何cookie,这个选项可让你选择一个cookie来分析。这是经过会话令牌给客户的最经常使用方法。  
Form field - 若是响应包含任何HTML表单字段,这个选项可让你选择一个表单字段的值来分析。这种方法一般用于发送反CSRF令牌和其它每页令牌提供给客户。  
Custom location - 您能够使用此选项来包含要分析的数据的响应中指定一个特定的自定义位置。这是经过使用响应提取规则对话框。

iii)Live Capture Options

这些设置控制用于执行实时捕捉时发出HTTP请求和收获令牌发动机。下列选项可用:

?
1
2
3
number of threads(执行绪数目) - 此选项控制并发请求数的实时捕捉,却能够使。  
Throttle between requests(请求之间的节流)- 可选的,实时捕捉每个能够请求以前等待一个指定的延迟(以毫秒为单位)。此选项颇有用,以免超载应用程序,或者是更隐蔽。  
Ignore token whose length deviates by x characters忽略令牌,其长度误差的X字符- 您能够选择配置的实时捕捉忽略的令牌,其长度与平均长度令牌偏离给定的阈值。这多是有用的,若是应用程序偶尔会返回一个包含在令牌一般出现的位置不一样项目的异常反应。

vi)Running the Live Capture

当你已经彻底配置的live Capture(实时捕捉),点击“开始实时捕获”按钮开始实时捕捉。burp序会反复发出您的请求,并从应用程序的响应提取相关的令牌。在实时捕捉,一个进度条显示,有令牌,请求和网络错误次数的计数器。下列选项可用:

?
1
2
3
4
5
Pause/resume(暂停/恢复) - 这将暂时停顿,而后继续,捕捉。  
Stop(中止) - 这会永久中止捕获。副本令牌 - 这会将当前拍摄的令牌到剪贴板,以便在其余burp攻击(如入侵者有效载荷)或工具的使用。  
Save tokens(保存tokens) - 这节省了当前拍摄的令牌文件。  
Auto-analyze(自动分析) - 若是启用此选项,burp就会自动进行标记分析,并按期更新结果现场采集过程当中。  
Analyze now(如今分析) - 这是时可用最少 100 令牌已被抓获,并致使burp,分析当前采样和更新的结果。

Manual load

此功能容许你加载Sequencer与您已得到令牌的样本,而后进行统计分析的样本。

要执行手动负载,您首先须要经过一些手段,好比你本身的脚本或从较早的live captrue实时捕捉,输出,或Intruder attack,以得到本身的目标应用程序令牌的样本。令牌须要在一个简单的换行符分隔的文本格式。

使用粘贴按钮,从剪贴板粘贴,或Load按钮的标记,从文件中加载它们。加载令牌,再加上最短和最长长度的详细状况,将显示您感,检查样品已正确装入。
要执行加载令牌的分析,请单击“analyze now(当即分析)”按钮。

Analysis Options

在“analysis options(分析选项)”选项卡容许您配置如何Token Handled,并在分析过程当中都进行哪些类型的测试。

Token handling

令牌过程当中如何分析处理这些设置控制。下列选项可用:

?
1
2
3
Pad short tokens at start/end(垫短令牌在开始/结束) - 若是由应用程序产生的标记具备可变长度,这将须要被填充,以使将要进行的统计检验。您能够选择是否填充应在开始或每一个标记的结尾被应用。在大多数状况下,填充令牌在开始是最合适的。  
Pad with(垫) - 您能够指定将用于填充字符。在大多数状况下,对于数字或ASCII十六进制编码的令牌,填充与“ 0 ”字符是最合适的。  
Base64-decode before analyzing(base64解码分析以前) - 若是令牌是Base64编码,能够配置Burp分析,这将广泛提升在编码分析以前的准确度。

Token Analysis

这些选项控制所执行分析的类型。您能够单独启用或禁用每种类型的字符级和位级测试。有时候,启用全部测试进行了初步分析后,您可能须要禁用某些测试,以反映您更好的了解所标记的特色,或以隔离受您的样品表现任何不寻常的特性的影响。
在结果窗口中,修改任何的分析选项后,您能够点击“重作分析”按钮,您的新设置从新进行了分析,并更新结果。

Result

Summary

summary选项卡是看得到有关随机性样品中的程度的整体结论首位。它包括一个图表,显示的有效熵以上各显着性水平的位的数目。这提供了一个直观的判决用来传递随机性测试不一样的可能显着性水平的位的数目。
该标签还报告告终果的可靠性的估计值,是根据样本的数量。

Character-level analysis

人物层次的分析选项卡显示全部字符级测试结果摘要,并让您深刻到每一个字符级测试的细节。它也包含图表显示的字符集在每一个位置的大小,而且熵的比特能够从每一个字符位置来提供的最大数量。

注意,字符级测试是不可靠的,若是所采用的字符集的大小过大相对于样本的数目。例如,若是一个令牌采用了64个不一样的字符在每一个位置,你只捕获100个样品,还有隔靴搔痒的样本数据得出关于角色分配的任何可靠的结论。出于这个缘由,当存在的不可靠的结果的危险,burp序将自动禁止字符级测试,以防止破坏总体合并结果从分析的字符级的结果。

Bit-level analysis

该位层次的分析选项卡中显示了全部位级的测试结果摘要,并让您深刻到每个位级测试的细节。这可让你得到样品的性能有更深的了解,找出任何异常的缘由,并评估令牌预测的可能性。
还有一个图表,显示位贡献的令牌中的每个字符的位置的数目。这将使你的令牌中交叉引用各个位回到原来的字符位置,若是你须要。

Analysisi options

分析选项卡显示已配置的分析的选项。若是须要从新进行分析,您能够修改这些。

Decoder

Burp Decoder是一种用于将编码数据归入其规范形式,或将原始数据转换成各类编码和哈希表的简单工具。它可以智能地识别多种编码格式采用启发式技术。

Loading Raw Data

您能够将数据加载到解码器在两个方面:

Image017

键入或直接粘贴到顶部编辑器面板。

选择数据中burp的任何位置,而后从上下文菜单中选择“发送到解码器”。

您能够使用“文本”和“十六进制”按钮来切换编辑器的类型来对数据使用。

Transformations

转换不一样的变换能够应用到的数据的不一样部分。下面的解码和编码操做可用:

?
1
2
3
4
5
6
7
1 )Url  
2 )HTMLBase64  
3 )十六进制  
4 )ASCII码  
5 )八进制  
6 )二进制  
7 )GZIP等

各类经常使用的散列函数是可用的,取决于你的Java平台的功能。

Working manually

要进行手动解码和编码,使用下拉列表选择所需的变革。所选择的转型将被应用到选定数据,或整个数据若是没有被选中。

Smart decoding

在解码器内的任何面板,您能够点击“智能解码”按钮。而后Burp将试图经过寻找出如今可识别的格式,例如URL编码或HTML编码要编码的数据来智能地解码该面板的内容。递归执行这个动做,一直持续到没有进一步的识别的数据格式检测。这个选项能够是一个有用的第一步,当你已经肯定了一些不透明的数据,并想快速浏览一下,看看是否能够很容易地解码成更容易识别的形式。应用到数据的每一个部分的解码是使用一般的着色表示。由于Burp解码器,使一个“最佳猜想”尝试识别一些常见的编码格式,它有时会犯错误。发生这种状况时,你能够很容易地看到全部参与解码的阶段,及已被应用在每一个位置上的转变。使用手动控制则能够手动修复任何不正确的转换和手动或巧妙继续解码从这点。

Comparer

Burp的Comparer是执行任何两项数据之间的比较(视觉“diff(差别)”)一个简单的工具。对Burp的Comparer一些常见用途以下:
当寻找的用户名枚举的条件下,您能够使用有效和无效的用户名比较响应登陆失败,寻找在反应细微的差异。
当Intruder袭击已致使不一样长度的比基反应一些很是大的反应,你能够比较这些很快看到那里的分歧所在。
当comparing的site maps或经过不一样类型的用户生成的Proxy history条目,你能够比较对相似的要求,看看那里的不一样之处在于,为不一样的应用程序行为引发的。
当测试使用布尔条件注射和其余相似的测试盲目SQL注入漏洞,你能够比较两个反应,看是否注射不一样的条件已致使响应的相关差别。

Loading Raw Data

您能够将数据加载到comparer对如下方式:

?
1
2
3
它直接粘贴造成剪贴板。  
从文件中加载它。  
选择数据中burp的任何位置,而后从上下文菜单中选择“发送到的Comparer”。

Performing Comparisons

加载数据的每一个项目显示为两个相同的列表。要进行比较,从每一个列表中选择其余项目,并单击其中的“comparsions”按钮之一:

Word compare(字比较) - 这种比较tokenizes根据空格分隔每一个数据项,并肯定了改造的第一个项目进入第二所需的标记级别的编辑。当在单词层面存在被比较项之间的有趣的差别,例如,在含有不一样含量的HTML文档,是最有用的。

Byte compare(字节比较) - 这种比较肯定改造的第一个项目进入第二所需的字节级的编辑。当在字节水平存在比较项之间的有趣的差异,好比在包含在一个特定的参数或cookie值稍有不一样值的HTTP请求,这是最有用的。注意:该字节级的比较是至关多的计算密集的,而且当一个字级别的比较失败,以肯定在一个信息道的相关的差别一般应该只使用这个选项。当您启动一个比较,会出现一个新窗口,显示比较的结果。该窗口的标题栏显示的差别(即编辑)这两个项目之间的总数。在两个主面板显示项目相比彩色化来表示每一个修改,删除和改造的第一个项目进入第二所需的加法。你能够在文本或十六进制形式查看每一个项目。选择“sync views(同步视图)”选项能够使您同时滚动两个小组等快速找出在大多数状况下有趣的编辑。

Extender

Using Burp extender

要使用Burp extender功能,须要一下几个步骤:

?
1
2
1 .首先必需要有java环境  
2 .在Burp extensions 下单击add添加

Image019

?
1
2
3 .选择查找.jar后缀插件,点击肯定以后下一步就是安装了  
4 .安装好了会提示安装成功,而且在以下图中显示

Image021

?
1
5 .若是是python扩展的话须要先到options中配置好python环境而且安装jython环境

Image023

Loading and managing extensions

下表显示了全部已安装的扩展名列表。您能够添加,删除和使用按钮的扩展表从新排序的扩展。请注意:
该扩展名的显示顺序是,其中的任何注册的侦听器和其余推广资源将被调用的顺序。
扩展能够卸载,但保留在表中,以便可以方便重装稍后time.To切换扩展的负载状态,而不从列表中删除它,在“loaded”栏或扩展详细信息面板中单击该复选框。注意:您能够快速从新按Ctrl +单击“loaded”复选框的延伸。这将卸载并从新加载该扩展名,而不显示确认对话框。
要运行用Python编写的扩展,你首先须要配置Jython的独立JAR的位置,在Python环境选项。

Extension details

选择在扩展表中的项目显示在下部面板的扩展信息。详细信息选项卡显示如下信息:不管是扩展当前加载的。您能够点击复选框,加载或卸载选定的扩展。扩展名。扩展能够经过编程设置其显示在用户界面中本身喜欢的名字。您能够手动编辑,若是须要此名称。扩展( Java或Python)的类型。从中加载该扩展名的文件。的方法,听众,并在由扩展使用其余资源的详细信息。输出选项卡包含扩展的标准输出流的细节,以及错误选项卡包含有关标准错误流相同的信息。为每一个数据流,能够配置应用程序的输出是否应该被定向到系统控制台,或者保存到文件中,或者在UI中显示出来。请注意:写法基于UI的输出窗口有大小限制,不适合用于重型记录。扩展是负责指导他们的输出和错误消息,其中burp已经分配给他们正确的数据流,并经过扩展API的编程可用。扩展不遵照这个能够直接直接输出到系统控制台,不管在这里具体肯定的设置。

Burp extender apis

此选项卡包含可用于建立Burp extensions API的细节。该列表显示,可在Burpk运行版本的API。从列表中选择一个接口的名称,显示界面代码所有。
您还能够使用“save interface files(另存接口文件)”和“save javadoc(保存Javadoc文件)”按钮来保存这些文件的本地副本,用于开发扩展的时候。

Options

Settings

此设置控制启动时Burp是如何处理扩展。当Burp启动时,它会自动恢复可扩展的配置清单。若是选择此选项,Burp也将自动尝试从新加载列表中的该被装在其发生时Burp是关闭任何扩展。

Java Environment

设置容许您配置环境执行的是用Java编写的扩展。若是您的扩展使用任何库,你能够指定哪些库将被加载的文件夹。burp会搜索这个文件夹中的任何JAR文件,而且将在用于加载Java扩展类加载器的类路径中包括这些。

Python Environment

设置容许您配置环境执行的是用Python编写的扩展。使用Python扩展,您将须要下载的Jython ,这是Java实现的Python解释器。下列选项可用:在Jython的独立JAR文件的位置 - 这是您已下载的Jython的位置。你必须下载的Jython的独立版本。文件夹中加载的模块 - 此设置是可选的,能够用来指定从哪一个Python解释器应该尝试加载所须要的您的扩展模块的文件夹。若是配置,此选项会致使Burp来更新指定的位置了Python的sys.path变量。若是您已经建立了本身的一套Python库在多个单独的扩展使用使用此选项颇有用。

注意:因为在Jython中动态生成Java类的方式,您可能会遇到内存问题,若是你加载多个不一样的Python扩展,或者若是你卸载并重装一个Python扩展屡次。若是发生这种状况,你会看到一个这样的错误:java.lang.OutOfMemoryError: PermGen space
You can avoid this problem by configuring Java to allocate more PermGen storage, by adding a -XX:MaxPermSize option to the command line when starting Burp.

例如:java -XX:MaxPermSize=1G -jar burp.jar

Ruby Environment

设置容许您配置环境执行的是用Ruby编写的扩展。使用Ruby的扩展,你须要下载的JRuby,这是Java实现的Ruby解释器。请注意,您能够在这里配置JRuby的JAR文件的位置,或者您也能够经过Java类路径在启动时加载的JAR文件。

Suite Options

Burp含有大量的影响的全部工具的行为套房范围的选项。

有以下选项:

Connections

此选项卡包含设置来控制Burp platform authentication,upstream proxy servers,SOCKS代理,timeouts,hostname resolution,以及范围外的要求。

platform authentication

设置容许您配置Burp platform authentication(平台自动)验证到目标Web服务器。不一样的认证方式和认证能够配置为单个主机。

支持的认证类型有:Basic(基本的),NTLMv1,NTLMv2身份验证和摘要验证。域和主机名信息仅用于NTLM身份验证。

在“Prompt for credentials on platform authentication failure(提示平台上认证失败凭据)”选项会致使Burp显示交互式弹出每当身份验证失败时遇到的问题。

Upstream Proxy Servers

设置控制Burp是否会向外发送请求到Upstream Proxy Servers,或者直接到目标Web服务器。
您能够定义多个规则,指定不一样的目标主机或主机组不一样的代理服务器设置。规则的应用顺序,而目标Web服务器相匹配的第一条规则将被使用。若是没有规则匹配,burp默认为直接的,非代理链接。
您能够在目标主机规范中使用通配符(*匹配零个或多个字符,而?除了点匹配任何字符)。将全部流量到一个单一的代理服务器,建立一个规则*为目的主机。离开代理主机空白直接链接到指定的主机。
对于您配置的每一个上游代理服务器,若是须要,能够指定认证方式和认证。支持的认证类型有:基本的,NTLMv1,NTLMv2身份验证和摘要验证。域和主机名信息仅用于NTLM身份验证。

Socks Proxy

设置容许您配置Burp使用SOCKS代理的全部传出的通讯。此设置是应用在TCP层,全部出站请求都将经过这个代理发送。
若是您已经为上游HTTP代理服务器配置的规则,而后请求到上游代理服务器将经过这里配置的SOCKS代理发送。
若是“DNS查询在SOCKS代理”启用该选项,则全部的域名将由代理解决。没有本地查询将被执行。

Timeouts

设置指定要用于各类网络任务的超时。您能够指定如下超时:

?
1
2
3
4
5
Normal(正常) - 此设置适用于大多数网络通讯,并肯定长期burp怎么会放弃已经发生了超时的请求,并记录以前等待。  
Open-ended responses(开放式的回应) - 此设置仅用于须要响应不包含内容长度或传输编码的HTTP标头被处理的。在这种状况下,burp肯定该传输已经完成以前,等待指定的时间间隔。  
Domin name resoolution(域名解析) - 此设置肯定如何常常burp会从新执行成功的域名查找窗口。这应该被设置为一个适当的低的值,若是目标主机地址被频繁地改变。  
Failed domain name resolution(失败的域名解析) - 此设置肯定burp多久将从新尝试不成功的域名查找窗口。  
值以秒为单位。若是选项是空白的,而后burp永远不会超时的功能。  

Hostname Resolution

设置使您能够指定主机名映射到IP地址,来覆盖你的电脑所提供的DNS解析。
每一个主机名解析规则指定一个主机名,并应与该主机名关联的IP地址。规则能够单独启用或禁用。
这个功能多是有用的,以确保请求的正确前进转发时,hosts文件已被修改成从非代理感知厚客户端组件进行流量的不可见的代理。

Out-of-Scope Request

可用于防止Burp从发行任何超出范围的要求。当你须要保证没有请求作出不在范围的为你目前的工做目标,它能够是有用的。即便你的浏览器使得对于超出范围的项目要求,即将卸任的请求将经过Burp被丢弃。
您能够启用此功能为当前目标范围。或者,您能够使用URL匹配规则定义自定义范围。

HTTP

Redirections

设置控制重定向的类型的Burp会在它被配置为跟随重定向的状况下理解。
能够选择重定向的种类以下:

?
1
2
3
4
5
1 )3xx status code with location header  
2 )refresh header  
3 )meta refresh tag  
4 )JavaScript driven  
5 )与Location标头的任何状态码

注意,Burp在如下重定向到特定的目标行为是由每一个单独的Burp工具内设置(例如,根据目标范围内)来肯定。

Streaming Responses

能够告知Burp哪些URL返回“流媒体”的反应,这不终止。而后Burp会不一样于正常的反应处理这些反应。流式反应一般用于像不断更新,现申请价格数据的功能。

Status 100 Responses

控制Burp处理与状态100的HTTP响应的方式。当一个POST请求发送到服务器,这些反应常发生的,它使一个临时的响应请求体已被发送以前。
下面的设置:
understand 100 continue response(了解100继续响应) - 若是选中此选项,Burp会跳过中期响应和解析真正的响应头像状态代码和内容类型的响应信息。
Remove 100 continue headers除去100继续头 - 若是选中此选项,Burp会在此以前被传递到单独的工具从服务器的响应中删除任何中期头部。

SSL Negotiation

有时候,你可能有困难的谈判与某些Web服务器的SSL链接。 Java的SSL协议栈包含了几个小鬼,和失败与某些不寻常的服务器配置工做。为了帮助您解决这个问题,Burp,您能够指定哪些协议和密码应该在SSL协商提供给服务器。下面的其余选项可用:自动选择对谈判失败兼容SSL参数 - 若是启用此选项,那么当Burp失败时使用配置的协议和密码进行谈判的SSL ,它会探测服务器,试图创建是由双方支持一组兼容的SSL参数服务器和Java 。若是找到兼容的参数,Burp缓存此信息,并使用在第一个实例中的参数具备相同的服务器将来的谈判。这个选项一般是可取的,可避免须要解决SSL问题,并尝试使用协议和密码。启用阻止Java安全策略的算法 - 从Java 7的, Java安全策略能够被用来从SSL协商被用于阻止某些过期的算法,以及其中的一些默认状况下(如MD2 )受阻。现场许多Web服务器都使用这些过期的算法, SSL证书,它是不可能使用默认的Java安全策略来链接到这些服务器。启用此选项容许Burp在链接到受影响的服务器时使用过期的算法。对此选项的更改才会生效当您从新启动Burp。容许不安全的SSL从新协商 - 此选项可能会使用一些客户端的SSL证书时,或试图周围其余的SSL问题的工做是必要的。
SSL

Client SSL Certificates

容许您配置客户端SSL证书,当目标主机申请一个Burp会使用。您能够配置多个证书,并指定每一个证书应使用的主机。当主机请求的客户端SSL证书,Burp会在列表中的主机配置匹配被链接的主机的名称中使用的第一个证书。您能够在目标主机规范中使用通配符( 匹配零个或多个字符,而?除了点匹配任何字符) 。要使用一个证书,每当任何主机请求之一,使用做为目标主机。客户端证书支持如下类型:文件( PKCS # 12 ) - 你将须要配置的证书文件的位置和密码的证书。硬件令牌或智能卡( PKCS # 11 ) - 你将须要配置PKCS#11库文件的位置,为您的设备,您的PIN码,而后选择从那些可用的证书。该PKCS#11库文件是用软件为您的设备安装的本机代码文件。在Windows上,Burp能够自动搜索常见位置找到您所安装的库文件。

Server SSL Certificates

此信息仅面板包含从Web服务器接收到的全部的X509证书的详细信息。双击表格中的项目,以显示该证书的完整细节。

Session

此选项卡包含的设置session handing rules,the cookie jar,and macros。

Session Handling Challenges

当执行任何类型的Web应用程序的测试,你可能会遇到与会话处理和地区的挑战。
例如:该应用程序可终止被用于测试会话,不管是防守仍是其余缘由,使后续的请求是无效的,直到会话恢复。某些功能可能使用改变必须与每一个请求(例如,妨碍请求伪造攻击)提供的令牌。某些功能可能须要一系列的要求被测试前,做出其余的请求,获取应用程序到一个合适的状态,它正在接受测试的要求。执行自动化测试任务,如起毛或扫描时,可能会出现这些问题,当你手动测试也可能出现。Burp的会话处理功能包含一系列的功能,以帮助在全部这些状况下,让你继续你的手动和自动测试,同时Burp须要在后台为你的问题的照顾。

Session Handling Rules

Burp让你定义的会话处理的规则清单,让您很是细粒度地控制Burp处理应用程序的会话处理机制和相关的功能。每一个规则包含一个做用域(什么规则适用于)和行动(什么规则呢) 。对于每个即将离任的要求,即Burp它决定了所定义的规则在范围的请求,并执行全部这些规则的行为的顺序(除非条件检查行动决定不采起进一步行动,应适用于要求提供) 。在范围内为每一个规则可基于任何正在处理的请求的下列功能或所有来定义:
Burp工具发出的请求。
请求的URL。的请求中参数的名称。每一个规则能够执行一个或多个动做,例如:更新cookie从Burp的蜜罐。验证当前会话。运行宏(请求的预约义的顺序) 。经过建立不一样的范围和行动多条规则,你能够定义行为的层次结构Burp将适用于不一样的应用和功能。例如,在一个特定的测试能够定义以下的规则:对于全部的请求,从Burp的cookie jar添加cookie。对于请求到特定的域,验证当前会话与该应用程序仍处于活动状态,若是没有,运行宏在应用程序从新登陆,并更新蜜罐用获得的会话令牌。对于请求到包含__ csrftoken参数特定的URL ,首先运行一个宏来获取有效__ csrftoken价值,并提出请求时使用此。

Session Handling Tracer

须要申请Burp的会话处理功能,以对现实世界的应用程序的功能的配置每每是复杂的,而且就很容易犯错。您能够使用会话处理示踪剂,以帮助您解决您的会话处理配置。
示踪显示,已经由会话处理功能的处理(即,其中至少一个会话规则已经应用)每一个请求的列表。对于每一个处理请求,所述示踪剂表示规则和进行该操做序列,而且改变到在序列中的每一个步骤中的电流要求而做出。
请注意,会话处理示踪规定了全部受影响的HTTP请求的处理和存储开销。您应该只与故障排除会话处理的规则问题,当使用的示踪剂,不该该离开它一般运行。

Cookie Jar

Burp维护一个cpploe干罐,用于存储全部你访问的网站发出的cookies 。密罐是全部Burp的工具之间共享。您能够配置哪些工具Cookie罐应监测,以更新的cookies 。默认状况下,蜜罐是基于代理和蜘蛛的工具流量更新。Burp监视由配置工具接收到的响应,并更新蜜罐与设置任何新的Cookie。在代理的状况下,从浏览器传入的请求也被检查。凡申请在前面设置一个永久性的Cookie这是目前在您的浏览器,这是须要你的会话进行适当的处理,这是颇有用的。有Burp更新基础上,经过代理请求的蜜罐意味着全部必要的cookie将被添加到蜜罐,即便你的应用程序当前访问期间不更新该cookie的值。您还能够查看手工蜜罐和编辑的cookie的内容,使用“打开蜜罐”按钮。蜜罐可用于会话处理的规则和宏来自动更新从蜜罐曲奇传出请求。蜜罐荣誉Cookie的域范围,在模仿的cookie处理规格Internet Explorer的诠释方式。路径范围不兑现。

Macros

macro是一个或多个请求一个预约义的顺序。您能够使用会话处理规则中的Macro来执行各类任务。典型用例的宏包括:获取该应用程序(如用户的主页)的页面来检查当前会话仍然有效。进行登陆,以得到新的有效的会话。得到令牌或随机数做为另外一个请求中的参数来使用。当Scanner或fuzz(模糊测试)在一个多步骤的过程的请求时,执行必要的前述要求,以得到应用到其中的目标请求将被接受的状态。在一个多步骤的过程当中,“attack”的请求时,在完成该过程的剩余步骤,以肯定所执行的动做,或者得到的结果,或者从该过程结束时的错误消息后。以及请求的基本序列,每一个宏包含一些关于如何饼干和参数的序列中应处理的重要结构和单件之间的任何相关性。

display

User interface

设置容许您控制Burp的用户界面的外观。您能够配置用于整个用户界面(除了HTTP消息的显示)的字体大小,也是Java的外观和感受。更改这些设置就会生效时Burp从新启动。

http message display

设置容许您控制HTTP消息会显示在原始的HTTP消息编辑器中。您能够设定字体和点大小和字体平滑是否被使用。您还能够配置为请求参数和响应语法语法彩色化是否完成。有不少小伙伴说乱码,就在这里设置。

Image025

Character Sets

设置控制Burp显示原始的HTTP消息时如何处理不一样的字符集。可用的选项有:

?
1
2
3
4
1 )自动识别每一个消息的字符集的基础上,邮件标题。这是默认选项,可以让您同时在使用不一样字符集的邮件的工做。  
2 )对全部消息使用平台默认的字符集。  
3 )显示消息的原始字节(使用ASCII编码),而不处理任何扩展字符。  
4 )对全部消息使用一个特定的字符集。

Image027

HTTP头始终显示在原料的形式 - 字符集编码选项只适用于邮件正文中。
须要注意的是所需的一些字符集的字形不支持的全部字体。若是你须要使用一个扩展的或不寻常的字符集,你应该首先尝试进行系统的字体,如宋体或Dialog。

HTML rendering

Html rendering是html转义的意思,渲染HTTP消息编辑器显示HTML内容中标签约,由于它会出如今你的浏览器。该选项控制Burp是否会做出所须要的彻底呈现HTML内容(例如,用于嵌入式图像)的任何额外的HTTP请求。使用此选项涉及的速度和HTML渲染质量之间的权衡,以及您是否但愿避免做出任何进一步的请求到目标应用程序。

Image029

Misc

此选项卡包含的设置hotkeys(热键),logging(记录),temporary files(临时文件)的位置,automatic backup(自动备份)和scheduled tasks(预约的任务)。

Hotkeys

设置容许您配置快捷键为经常使用操做。许多类型的动做能够被分配一个快捷键,在如下类别:

?
1
2
3
1 )特定于某个HTTP请求或响应的动做,例如“send to repeater(发送到转发器)”。  
2 )全球行动,如“Switch to proxy(切换到代理服务器)”。  
3 )在编辑操做,如“剪切”和“撤消”。  

一些热键的默认配置。须要注意的是若是你使用它们频繁,能够给它们分配一个快捷键。

Image031

全部的快捷键必须使用控制键(或在OSX上的Command键),也能够使用Shift和其余可用的修饰符。请注意,在某些Windows安装中的Ctrl + Alt组合是由Windows视为等同于键AltGr,并可能致使输入的字符时,在文本字段中压显现出来。

Logging

设置控制HTTP请求和响应的记录。能够记录每一个工具或全部Burp流量进行配置。选择你要记录的,会弹出一个框让你选择保存的地方,能够在扫描的时候把扫描的一些扫描记录下来,而后放到sqlmap里进行跑,很淫荡的想法。

Image033

Temporary Files Location

保存一些零时文件的地方,能够设置系统默认,也能够自定义路径。

Image035

Automatic backup

自动备份功能。设置容许您配置Burp保存的全部工具'的状态和配置的备份每隔多少分钟,而且还能够选择退出。

Image037

使用这些选项意味着你通常都会有你的工做,最近的备份副本在Burp异常退出的事件。若是您已配置目标范围为你的工做,你能够使用“include in-scope items only(仅仅包括在范围内的项目)”以减小数据必须保存量。

Scheduled Tasks

计划任务。仅限专业版使用,您能够使用任务调度程序自动启动和中止某些任务在规定的时间和间隔时间。您能够使用任务计划程序来启动和中止某些自动化任务了几个小时,而你没有工做,并按期或在特定时间保存您的工做。要使用此功能,请选择在Burp的任何地方一个HTTP请求,或任何部分目标站点地图,并在上下文菜单中的“Engagement(参与工具)”中选择“Schedule task(计划任务)” 。或者,您也能够经过在计划任务面板中直接添加一个新的任务。建立一个新的任务将打开一个向导,能够配置任务的详细信息。
任务计划有如下类型:

?
1
2
3
4
5
6
1 )从URL扫描  
2 )暂停主动扫描  
3 )继续主动扫描  
4 )从URL蜘蛛  
5 )暂停蜘蛛  
6 )保存状态  

根据任务的类型,您还能够配置一个URL (如扫描)或文件(如保存状态) 。每个任务须要有配置了启动时间。或者,您能够配置任务重复在定义的时间间隔。

Suite functions

Generate CSRF POC

[专业版]此功能可用于生成一个证实了概念验证(PoC )跨站点请求伪造(CSRF )攻击对于一个给定的请求。要使用此功能,请选择在Burp的任何地方URL或HTTP请求,并选择上下文菜单中的“Engagement tools(参与工具)”中的“Generate CSRF Poc(生成CSRF的一键通)”。

Image039

Image041

Burp显示了在顶部面板中选择的完整的请求,并将生成的HTML CSRF在较低的面板。在HTML使用的形式和/或JavaScript来生成在浏览器中所要求的请求。您能够手动编辑的要求,并单击“regenerate(从新生成)”按钮,根据更新的要求来从新生成CSRF的HTML 。你能够测试生成的PoC的效果在浏览器中,使用“测试中的浏览器”按钮。当您选择此选项,能够粘贴到浏览器(配置为使用Burp的当前实例做为其代理)一个惟一的URL 。由此产生的浏览器请求由服务Burp与当前显示的HTML,而后你能够决定的PoC是不是经过监测获得的请求( s)表示,经过代理服务器进行了卓有成效的。

Message Editor

HTTP消息编辑器是用于整个Burp查看和编辑的HTTP请求和响应。以及显示原始消息自己,编辑器包括大量的功能,帮助您快速进一步分析这些消息,推进Burp的核心工做流程,以及进行其余有用的任务。

Content Discovery

此功能可用于发现内容并不会从您能够浏览或蜘蛛可见内容连接功能。
要使用此功能,请选择在Burp的任何地方一个HTTP请求,或任何部分目标站点地图,并在上下文菜单中的“参与工具”中选择“查找内容”。

Image043

Image045

Image047

Burp使用各类技术来发现内容,包括姓名猜想,网络蜘蛛,而且从命名的应用程序中使用的观测约定外推。发现的内容被显示在一个特殊的网站地图是特定的发现会话,而且还能够任选地加入到suite site map。

Control

此选项卡显示您发现会话的当前状态。切换按钮指示是否会话正在运行,并容许您暂停和从新启动会话。

Image049

下面的信息则显示该发现会话的进展:提出的要求数在服务器响应传输的字节数网络错误数排队的发现任务数蜘蛛排队的请求数排队分析响应数排队的我的发现任务都显示在表格中。发现引擎的工做原理递归,当一个新的目录或文件被发现,进一步的任务是源于此,这取决于配置。

Target

这些选项可以让您定义了内容发现会话启动目录,以及是否文件或目录要有针对性。下列选项可用:
Start directory(启动目录) - 这就是Burp就会开始寻找内容的位置。这条道路及其子目录内只有项目将在会议期间提出要求。
Discover(发现) - 此选项肯定会话是否将寻找文件或目录,或二者兼而有之。若是你正在检查的目录,你能够选择是否以及如何深递归到子目录中发现的。

Filenames

这些选项可以让您配置Burp应该使用生成的文件名来测试源。下列选项可用
内置的短文件列表 、内置短路目录列表 、内置长文件列表 、内置长目录列表
发如今目标站点上使用的名称。若是选择此选项,Burp会维护全部的目录和文件名茎已发现的目标网站上的名单,也将检查这些在测试每个新的目录。
根据发现的物品推导。若是选择此选项,Burp会尝试猜想基于那些已经被发现的项目名称。例如,若是该目录AnnualReport2011被发现,Burp也将检查AnnualReport2012,AnnualReport2013等。

File Extensions

控制如何发现会话添加文件扩展名,正在测试。该文件的自己是根据文件名选择导出。当每一个文件的在测试时,Burp会检查各类不一样的扩展名,根据这些设置。下列选项可用:

?
1
2
3
4
1 )Test these extensions(测试这些扩展)- 此选项可以让您设定的扩展,Burp会常常检查清单。你能够微调的基础上已知在对目标应用程序中使用的技术,默认列表。  
2 )Test all extensions observed on target site(测试目标点观测到的全部分机) - 若是选择此选项,而后Burp会自动检查是否存在已在使用中被观察到目标站点上的文件扩展名。此选项颇有用,当你不知道究竟是什么扩展或技术都在使用。您还能够配置你不想要检查,即便发现是在使用中(如图像文件)的扩展名列表。  
3 )Test these variant exxtensions on discovered files(在测试文件中发现这些变异扩展) - 此选项可以让您设定的扩展名列表的Burp会额外检查以便发现文件名。这个选项是检查现有的文件的备份副本颇有用。  
4 )Test filestemswith no extension(测试文件无扩展名) - 若是选择此选项,Burp会为每一个文件检查不带扩展名添加。  

Discovery Engine

用于发现内容时发出HTTP请求的引擎,并带有套房站点地图互动。下列选项可用:

?
1
2
3
4
1 )Case sensitivity(区分大小写) - 这个设置控制Burp是否会处理文件名的状况下,敏感。若是选择“自动检测”被选中,而后Burp会经过处理文件名的状况下灵敏启动,并在发现的第一个新项目,将测试状况变化的服务器的处理。根据所治疗,Burp可能恢复处处理文件名的状况下不区分大小写。  
2 )Add discovered content to suite site map(发现添加内容到套房站点地图) - 若是选择此选项,而后在当前会话的发现肯定了新的项目将被自动添加到主浴室的站点地图。  
3 )Copy content from suite site map(复制主站点地图的内容) - 若是选择此选项,则发现会话将复制任何现有的相关内容从主套房站点地图进去发现网站地图,以提供发现新的内容较强的出发基础。  
4 )Number of discovery threads(蜘蛛从已发现的内容) - 若是选择此选项,则发现会话将执行常规的网络蜘蛛,而且将处理响应发现请求寻找连接到其余新的内容。发现执行绪数目 - 此选项控制并发请求数的发现引擎可以做出。蜘蛛线程数 - 该选项控制并发请求数的蜘蛛功能是可以使,若是启用。  

Site map

该发现会话使用本身的站点地图,显示全部已发现的定义范围内的全部内容。若是您已配置Burp的话,新发现的项目也将被添加到Burp的主要站点地图。

Alert

用来显示当前Burp的扫描代理的一些状态,这个没什么介绍的。

Image051

Burp Sqlmap插件

SqlMap是一个开源渗透测试工具,它能够自动检测和利用SQL注入漏洞和接管数据库服务器的过程。它配备了一个功能强大的检测引擎,许多利基功能,为最终的渗透测试和普遍的交换机从数据库中指纹持久的,在数据从数据库中获取,经过访问底层文件系统和操做系统上执行命令的输出带外链接。如图效果图

Image053

0x01 环境及工具

须要python、java环境,而且须要下载sqlmap.py、gason.jar插件。

下载地址:https://github.com/sqlmapproject/sqlmap

http://www.praetorian.com/tools/gason-0.9.6.jar

0x02 安装

1)选择Burp Extender扩展添加

Image055

2)添加成功会提示加载成功,而后在任意的Burp请求地址的详情里右击

Image057

3)接下来会出现gui 界面,要是用还必须加载sqlmap.py的路径

Image059

图形界面挺不错的,对于使用sqlmap新手挺好的,有时候使用命令界面的时候不知道命令了能够用这个图形界面查看命令怎样使用,好比:我不知道怎么在后面加数据库参数,则能够以下图所示

Image061

0x03 使用

如上有地址参数了在右下角点击run便可,图形界面就不作过多的介绍了,其使用方法和sqlmap命令界面是同样的,主要是结合了burp惟一的好处就是用burp检测到注入了而后能够直接发送到sqlmap进行注入。并且操做简单。

Notes

0x01 介绍

在Notes选项卡中,您能够:

?
1
2
3
4
5
6
7
- 储存注意事项:储存任何目前开启的文件到一个文件中。  
- 负载注:从文件加载之前保存的一套纸币。  
- 新文本:添加一个标签一个新的文本文档。  
- 导入文本:加载一个文本文件的内容。  
- 新的电子表格:添加一个标签一个新的电子表格。  
- 导入电子表格:加载一个CSV文件的内容。  
- 您还能够导出单个音符的标签到外部文件。

界面以下:

Image063

0x02 安装

在Burp主界面Extender>>Extensions>>Burp Extensions下的add按钮

Image065

0x03 使用

?
1
2
3
4
1 )能够从Burp主界面的Proxy history里选择发送到notes。  
2 )切换到notes标签选项卡便可。  
3 )Save notes(保存文本)  
4 )也能够导入文本和表格文件  

JSBeautifier

0x01 介绍

大多数的网站压缩其资源,如JS文件,以便增长装载速度。然而,安全性测试和调试一个压缩的资源是不容易的事。这是一个Burp开源扩展,这使得它能够美化大部分资源。所以,这将有助于Web应用程序安全研究人员查看压缩资源更容易。它还能够帮助他们有足够的资源内的浏览器解压缩后的版本(如JS,CSS,HTML,XML,等等)。

0x02安装

?
1
2
1 )下载jsbeautifier.jar 文件和libs目录  
2 )点击Extender>>add选择jsbeautifier.jar

Image067

0x03 使用

直接勾选或者在响应请求选择beautify this!便可
 

0x01 Android虚拟机 proxy for BurpSuite

安卓虚拟机工具

这里我使用的是谷歌安卓模拟器Android SDK,你们能够根据本身的系统来定,我使用的是window64系统,你们选择下载的时候能够注意一下,同时也是使用这个系统来演示。下载地址:http://developer.android.com/sdk/index.html

配置Android模拟器

下载后,里面有SDK的manager.exe和其余文件夹。如今,咱们创建一个模拟器,能够经过Android SDK管理器来建立咱们的AVD(Android的虚拟设备); 这将是咱们虚拟的Android手机。

 

一、设置安卓虚拟机如图

enter image description here

二、选择TOOLs下的Manager AVDS

enter image description here

三、启动以后,设置以下配置

enter image description here

四、经过Start开启安卓虚拟机

enter image description here

五、界面如图

enter image description here

配置代理

一、Burp代理设置以下

enter image description here

二、安卓模拟器设置,Menu>System setting>More>Mobile networks>Access Point Names> 选择默认的APN或者新建一个而且设置为默认代理

enter image description here

三、保存好了以后打开浏览器输入地址

enter image description here

最后附上刚下载的一个百度知道应用程序,也是能够抓包的

enter image description here

具体详情参考:http://resources.infosecinstitute.com/android-application-penetration-testing-setting-certificate-installation-goatdroid-installation/

0x02 Android手机Proxy for Burpsuite

准备条件

首先安卓手机要跟电脑同一个网段,链接到同一个wifi下就能够了,我这里 网关是192.168.1.1 物理机 192.168.1.5 手机ip 192.168.1.2

配置

1)手机设置: 打开手机-->设置->WLAN-->选择你的wifi进入编辑,在代理这里设置为手动,设置以下 主机名:192.168.1.5 //也就是我物理机的ip 端口:8088 保存便可。

2)Burp Suite设置

enter image description here

导入证书到手机中

导入证书到手机中其实也很简单,就是把电脑上已经安装好的证书导出来到内存卡中,而后从内存卡中安装证书

enter image description here

enter image description hereenter image description here

而后命令为PortSwigger CA导出到桌面,复制到内存卡中步骤以下: 打开手机-->设置-->安全和隐私-->凭据存储-->从存储设备安装,选择你刚才证书存放的路径,安装便可。 若是安装好了,就能够在安全和隐私-->凭据存储-->受信任的凭据-->用户下便可查看到

0x03暴力破解

0-9,a-z状况

选择Payload type里的Brute forcer(暴力破解),在下面Payload options选项会出现组合的一些字母或数字,能够本身加,好比一些特殊字符什么的,生成的字段长度范围Min length-Max length,好比这里我只是须要4个,那就两个都写4。

enter image description here

enter image description here

用户名自动生成

根据提供的用户名而后进行拆分

enter image description here

enter image description here

日期型爆破

年月日均可以本身定义,有几种可选,以下

enter image description here

enter image description here

编码frobber

说白了就是第二个值会替换前一个值

enter image description here

0x04 导出符合爆破规则的数据

查找符合结果的数据

好比我想把Length为1310的数据导出来,则能够先对length排序下,而后选择length为1310的全部数据右击选择高亮(随便选择一种颜色,除了白色,默认状况是白色)

enter image description here

筛选出符合的数据

点击Filter,勾选show only highlighted items(表示显示仅仅显示高亮项)

enter image description here

同理也能够在上述步骤中选择添加注释(add commented),这里就应该选择show only commented items

导出结果

如知足以上操做,便可选择Save-->Result table,即弹出以下窗口

enter image description here

enter image description here

这里all rows是保存你全部选择的到的结果,selected rows是导出你选择的数据, Save header row若是勾选,则保存导航字段名,Delimiter表示字段之间以什么相隔开tab--一个tab键,Custom--自定义 下面有一些就是保存的时候须要保持什么就勾选,反之。

0x05 批量md5解密

准备

咱们把须要爆破的md5值或者其余的须要爆破的同一放到一个txt文本里,这里我随便加密了几个放到里面

enter image description here

以www.cmd5.com网站为例作的批量解密 首先,仍是一样的设置好代理以后访问www.cmd5.com,而后抓包

enter image description here

在密文处其实能够随便写什么,可是为了便于咱们后面可以直接看出解密出的值咱们仍是写一个正常的。

设置intruder

经过抓包到的数据咱们能够看出咱们填写的密文在哪

enter image description here

发送到repeat先,把咱们想要的结果匹配到

enter image description here

接着咱们发送到intruder,设置咱们输入的值两边加上$

enter image description here

选择字典

enter image description here

再调节一下线程,最好是调低一点,过高了可能会解密失败,并且设置解密失败重试2次最好了

enter image description here

匹配解密出的结果

enter image description here

开始解密

点击start attack

enter image description here