工具 | Burpsuite各个模块详细使用---上(建议收藏)

技术分享 Story 1743浏览 0评论

Repeater模块(中继器)

一、简介

Burp Repeater 是一个手动修改并补发个别 HTTP 请求,并分析他们的响应的工具。它最大的用途就是和其他 Burp Suite 工具结合起来。你可以从目标站点地图,从 Burp Proxy 浏览记录,或者从 Burp Intruder 攻击结果上的请求,发送到 Repeater 上,并手动调整这个请求来微调对漏洞的探测或攻击。

二、模块说明

 

1.可以从Proxy history、site map、Scanner等模块中右键菜单send to repeater发送到repeater,对页面数据进行修改发送。
2.点击go,发送请求,右边响应请求。
3.可以通过“<“和”>“来返回上一次和下一个操作。
4.单击”x“可以删除当前测试请求页面。
5.底部的功能用于搜索条件,可以用正则表达式,底部右边显示匹配结果数。

raw — 这显示纯文本格式的消息。在文本面板的底部有一个搜索和加亮的功能,可以用来快速地定位出消息里的感兴趣的字符串,如出错消息。搜索栏左边的弹出项让你能控制状况的灵敏度,以及是否使用简单文本或者十六进制搜索。

params — 对于包含参数(URL 查询字符串,cookie 头,或者消息体)的请求,这个选项把这些参数分析为名字/值的格式,这就可以简单地随他们进行查看和修改了。

headers — 这里是以名字/值的格式来显示 HTTP 的消息头,并且也以原始格式显示了消息体。

hex — 这里允许你直接编辑由原始二进制数据组成的消息。如果在文本编辑器修改,某种类型的传输(如,MIME 编码的浏览器请求)包含了可能损坏的二进制内容。为了修改这类消息,应该使用十六进制编辑器。

该模块的设置在菜单栏 Repeater中,主要选项如下:


Sequencer模块(定序器)

一、简介

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

二、模块说明

Burp Sequencer主要由三个模块组成:

1:Live capture 信息截取
2:Manual load 手动加载
3:Analysis options 选项分析

1:Live capture 信息截取

选项1:Select Live Capture Request

 

选项2:Token Location Within Response

 

选项3:Live Capture Options

 

2:Manual load 手动加载

选项1:Manual Load

 

3:Analysis options 选项分析

选项1:Token Handling  令牌处理

 

选项2:Token Analysis  令牌分析


Target模块(目标模块)

Target功能

目标工具包含了SiteMap,用你的目标应用程序的详细信息。它可以让你定义哪些对象在范围上为你目前的工作,也可以让你手动测试漏洞的过程,Target分为site map和scope两个选项卡。

选项一、Site Map

SiteMap会在目标中以树形和表形式显示,并且还可以查看完整的请求和响应。树视图包含内容的分层表示,随着细分为地址,目录,文件和参数化请 求的URL 。您还可以扩大有趣的分支才能看到进一步的细节。如果您选择树的一个或多个部分,在所有子分支所选择的项目和项目都显示在表视图。

该表视图显示有关每个项目(URL , HTTP状态代码,网页标题等)的关键细节。您可以根据任意列进行排序表(单击列标题来循环升序排序,降序排序,和未排序) 。如果您在表中选择一个项目,请求和响应(如适用)该项目显示在请求/响应窗格。这包含了请求和响应的HTTP报文的编辑器,提供每封邮件的详细分析。

站点地图汇总所有的信息BurpSuite已经收集到的有关申请。这包括:

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

这样看起来site map是不是很乱,则可以右击add to scope,然后点击Filter勾选Show only in-scope items,此时你再回头看Site map就只有百度一个地址了,这里filter可以过滤一些参数,show all显示全部,hide隐藏所有,如果勾选了表示不过滤

选择之后就只剩下一个网址了

针对地址右击显示当前可以做的一些动作操作等功能。

选项二、Scope

这个主要是配合Site map做一些过滤的功能

已请求在SiteMap中的项目会显示为黑色。尚未被请求的项目显示为灰色

 

Proxy模块(代理模块)

一、简介

Proxy代理模块作为BurpSuite的核心功能,拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。

Burp 代理允许你通过监视和操纵应用程序传输的关键参数和其他数据来查找和探索应用程序的漏洞。通过以恶意的方式修改浏览器的请求,Burp 代理可以用来进行攻击,如:SQL 注入,cookie 欺骗,提升权限,会话劫持,目录遍历,缓冲区溢出。拦截的传输可以被修改成原始文本,也可以是包含参数或者消息头的表格,也可以十六进制形式,甚至可以操纵二进制形式的数据。在 Burp 代理可以呈现出包含 HTML 或者图像数据的响应消息。

二、模块说明

1.Intercept

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

消息类型显示的四种格式

 

raw:这里显示的是纯文本形式的消息。在文本窗口的底部提供了一个搜索和加亮功能,可以用它来快速地定位出消息中的感兴趣的字符串,如错误消息。在搜索的左边有一个弹出项,让你来处理大小写问题,以及是使用简单的文本搜索还是正则表达搜索。


params:对包含参数(URL 查询字符串,cookies 消息头,或消息体)的请求,这个选项可以把参数分析成名称/值的组合,并且允许你能简单地查看和修改。

headers:这里以名称/值的组合来显示 HTTP 的消息头,并且还以原始的形式显示消息体。

hex:这里允许你直接编辑消息的原始二进制数据。如果在文本编辑器里修改,某些传输类型(例如,使用 MIME 编码的浏览器请求的部分)包含的二进制数据可能被损坏。为了修改这些类型的消息,应使用十六进制。

1.Forward
当你编辑信息之后,发送信息到服务器或浏览器

2.Drop
当你不想要发送这次信息可以点击drop放弃这个拦截信息

3.Interceptionis on/off
这个按钮用来切换和关闭所有拦截。如果按钮显示Interceptionis On,表示请求和响应将被拦截或自动转发根据配置的拦截规则配置代理选项。如果按钮显示Interception is off则显示拦截之后的所有信息将自动转发。

4.Action
说明一个菜单可用的动作行为操作可以有哪些操作功能。

 

Send to Spider             发送给蜘蛛
Do an active scan          执行主动扫描
Send to Intruder             发送到入侵者
Send to Repeater          发送到中继器
Send to Sequencer       发送到序列发生器
Send to Comparer        发送到比较器
Send to Decoder   发送到解码器
Request in browser       在浏览器的请求
Engagement tools        参与工具

Change request method  对所有的请求,经过把所有相关的请求参数适当地搬迁到这个请求里来,你就可以自动地把请求的方法在 POST 和 GET 中间切换。通过发送恶意的请求使用这个选项来快速测试应用程序的极限参数是多少。

Change body encoding   对于所有的请求,你可以在应用程序/X-WWW 格式的 URL 编码和多重表单/数据之间切换消息体的编码方式。

Copy URL       把当前的 URL 完整地复制到粘贴板上。
Cope as curl command   作为curl命令

Cope to file        这个功能允许你把选择一个文件,并把消息的内容复制到这个文件里。这个对二进制数据来说是很方便的,要是通过粘贴板来复制会带来一些问题。复制操作是在选择的文本上进行的,如果没有被选中的内容,则是针对整个消息了。

Pase form file        这个功能允许你选择一个文件,并把文件里的内容粘贴到消息里。这个对二进制数据来说是很方便的,要是通过粘贴板来复制会带来一些问题。粘贴操作会替换掉被选中的内容,如果没有内容被选中,则在光标位置插入这些内容。


Save item                        这个功能让你指定一个文件,把选中的请求和响应以XML的格式保存到这个文件,这里面包括所有的元数据如:响应的长度,HTTP 的状态码以及 MIME 类型。


Don't intercept requests       通过这些命令可以快速地添加拦截动作的规则来阻止拦截到的消息,这些消息和当前的消息有着相同的特征(如远程主机,资源类型,响应编码)。
Do intercept                           仅对请求有效,这允许你可以对当请求和响应的进行强制拦截。
Convert seiection                 这些功能让你能够以多种方案对选择的文本进行快速的编码和解码。
URL-encode as you type    如果这个选项被打开,你输入的像&和=这样的符号会被等价的 URL编码代替。
Cut                                           剪切
Copy                                       复制
Paste                                       粘贴
Message edit help               消息编辑帮助
Proxy interception help       代理拦截帮助

2.HTTP History

这个选项是来显示所有请求产生的细节,显示的有目标服务器和端口,HTTP 方法,URL,以及请求中是否包含参数或被人工修改,HTTP 的响应状态码,响应字节大小,响应的 MIME类型,请求资源的文件类型,HTML 页面的标题,是否使用 SSL,远程 IP 地址,服务器设置的 cookies,请求的时间。

 

 

双击某个请求即可打开详情,通过Previous/next可以快速切换请求,并且Action也可以将请求发送至其他模块。

可以通过最左边的列里的下拉菜单来加亮单个选项:

在历史记录表里,右击一个或多个选项,就会显示一个上下文菜单让你执行一些操作,包括修改目标范围,把这些选项发送到其他 Burp 工具,或者删除这些项:

Add to scope                   添加范围
Spide from here                蜘蛛从当前地址开始
Do an active scan              执行主动扫描
Do a passive scan       做被动扫描
Send to Intruder               发送到入侵者
Send to Repeater               发送到中继器
Send to Sequencer              发送到序列生成器
Send to Comparer(request)      发送到比较器(请求)
Send to Comparer(response)     发送到比较器(响应)
Show response in browser       在浏览器中显示响应
Request in browser       浏览请求
Engagement tools               接合工具
Show new History windows       显示新的历史窗口
Add comment               添加评论
Highlight       高亮部分
Delete item                    删除项目
Clear history                  清除历史记录
Copy URL                       复制网址
Copy as curl command           复制为curl命令
Copy links                     复制链接
Save item                      保存项目
Proxy history help             代理历史帮助

还可以通过配置过滤器来确定哪些顶层的数据项显示在表格里。有效应用程序包含了大量的内容,如图像,CSS 等,这些有利于从视图上隐藏的。AJAX 应用程序产生大量相似的异步请求,你可能会想把他们从视图上过滤出来来查看一些感兴趣的项。在这个历史记录表的顶部有一个过滤栏。单击会有一个弹出窗口,让你来精准地配置显示哪些内容在表格里:

 

3.WebSockets history

这个选项主要用于记录WebSockets的数据包,是HTML5中最强大的通信功能,定义了一个全双工的通信信道,只需Web上的一个 Socket即可进行通信,能减少不必要的网络流量并降低网络延迟。

 

4.Options

该选项主要用于设置代理监听、请求和响应,拦截反应,匹配和替换,ssl等,其中有八大选项:Proxy Listeners、Intercept Client Requests、Intercept Server Responses、Intercept WebSockets Messages、Response Modification、Match and replace、SSL Pass Through、Miscellaneous

选项1:Proxy Listeners

 

 

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

1.add:添加一个新的代理地址。

   1.binding:新建一个代理,bind to port-绑定端口号 ,bind to address -绑定ip地址

 


     2.request hadning:这些设置包括选项来控制是否BurpSuite重定向通过此侦听器接收到的请求:

            2.1.Redirect to host - 如果配置了这个选项,Burp会在每次请求转发到指定的主机,而不必受限于览器所请求的目标。需要注意的是,如果你正使用该选项,则可能需要配置匹配/替换规则重写的主机中的请求,如果服务器中,您重定向请求预期,不同于由浏览器发送一个主机头。

            2.2.Redirect to port - 如果配置了这个选项,Burp会在每次请求转发到指定的端口,而不必受限于浏览
            2.3.Force use of SSL - 如果配置了这个选项,Burp会使用HTTPS在所有向外的连接,即使传入的请求中使用普通的HTTP。您可以使用此选项,在与SSL相关的响应修改选项结合,开展sslstrip般的攻击使用Burp,其中,强制执行HTTPS的应用程序可以降级为普通的HTTP的受害用户的流量在不知不觉中通过BurpProxy代理。


 


  3.Certificate:这些设置控制呈现给客户端的SSL服务器的SSL证书。

3.1.Generate CA-signed per-host certificate-这是默认选项。安装后,BurpSuite创造了一个独特的自签名的证书颁发机构(CA)证书,并将此计算机上使用,每次BurpSuite运行。当你的浏览器发出SSL连接到指定的主机,Burp产生该主机,通过CA证书签名的SSL证书。您可以安装BurpSuite的CA证书作为在浏览器中受信任的根,从而使每个主机的证书被接受,没有任何警报。您还可以导出其他工具或Burp的其他实例使用CA证书。

3.2.Generate a CA-signed certificate with a specific hostname---||这类似于前面的选项;然而,Burp会产生一个单一的主机证书与每一个SSL连接使用,使用您指定的主机名。在进行无形的代理时,此选项有时是必要的,因为客户端没有发送连接请求,因此Burp不能确定SSL协议所需的主机名。你也可以安装BurpSuite的CA证书作为受信任的根。

3.3.Use a custom certificate---||-此选项使您可以加载一个特定的证书(在PKCS#12格式)呈现给你的浏览器。如果应用程序使用它需要特定的服务器证书(例如一个给定序列号或证书链)的客户端应该使用这个选项。

 



2.edit:编辑选中的代理地址。
3.remove:删除选中代理地址。

选项2:Intercept Client Requests

配置拦截规则,设置拦截的匹配规则。当Intercept request based on the following rules为选中状态时,burpsuite会配置列表中的规则进行拦截或转发。

注意:如果该复选框未选中,那么即使Intercept is on也无法截取数据包。
规则可以通过Enabled列中的复选框选择开启或关闭。
规则可以是域名, IP地址,协议, HTTP方法, URL,文件扩展名,参数,cookie ,头/主体内容,状态代码,MIME类型, HTML页面标题等。
规则按顺序处理,并且使用布尔运算符AND和OR组合。

选项3:Intercept Server Responses

配置拦截规则,设置拦截的匹配规则,不过这个选项是基于服务端拦截,当选小的Intercept request based on the following rules为选中状态时,burpsuite会匹配响应包。

选项4:Intercept WebSockets Messages

选项5:Response Modification

 

 

选项6:Match and replace

用于自动替换请求和响应通过代理的部分。对于每一个HTTP消息,已启用的匹配和替换规则依次执行,选择适用的规则进行匹配执行。

规则可以分别被定义为请求和响应,对于消息头和身体,并且还特别为只请求的第一行。每个规则可以指定一个文字字符串或正则表达式来匹配,和一个字符串来替换它。对于邮件头,如果匹配条件,整个头和替换字符串匹配留空,然后头被删除。如果指定一个空的匹配表达式,然后替换字符串将被添加为一个新的头。有可协助常见任务的各种缺省规则 - 这些都是默认为禁用。匹配多行区域。您可以使用标准的正则表达式语法来匹配邮件正文的多行区域。

选项7:SSL Pass Through

 

选项8:Miscellaneous

Spider模块(蜘蛛爬行)

一、简介

Burp Spider 是一个映射 web 应用程序的工具。它使用多种智能技术对一个应用程序的内容和功能进行全面的清查。

Burp Spider 通过跟踪 HTML 和 JavaScript 以及提交的表单中的超链接来映射目标应用程序,它还使用了一些其他的线索,如目录列表,资源类型的注释,以及 robots.txt 文件。结果会在站点地图中以树和表的形式显示出来,提供了一个清楚并非常详细的目标应用程序视图。

Burp Spider 能使你清楚地了解到一个 web 应用程序是怎样工作的,让你避免进行大量的手动任务而浪费时间,在跟踪链接,提交表单,精简 HTNL 源代码。可以快速地确人应用程序的潜在的脆弱功能,还允许你指定特定的漏洞,如 SQL 注入,路径遍历。

二、模块介绍

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

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

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

 

选项一、Contro

用来开始和停止 Burp Spider,监视它的进度,以及定义 spidering 的范围。

选项二、Options

这个选项里包含了许多控制 Burp Spider 动作的选项。

1:Crawler Settings

● check robots.txt:检测robot.txt文件。选择后Burp Spider会要求和处理robots.txt文件,提取内容链接。

● Detect custom “not found” responese:检测自定义的’not found’响应。打开后Burp Spider会从每个域请求不存在的资源,编制指纹与诊断“not found”响应其它请求检测自定义“not found”的响应。

● ignore links to non-text content:忽略非文本内容的连接。这个选项被选中,Spider 不会请求非文本资源。使用这个选项,会减少 spidering 时间。

● request the root of all directories:请求所有的根目录。如果这个选项被选中,Burp Spider 会请求所有已确认的目标范围内的 web 目录,如果在这个目标站点存在目录遍历, 这选项将是非常的有用。

● make a non-parameterized request to each dynamic page:对每个动态页面进行非参数化的请求。如果这个选项被选中,Burp Spider 会对在范围内的所有执行动作的 URL 进行无参数的 GET 请求。如果期待的参数没有被接收, 动态页面会有不同的响应,这个选项就能成功地探测出额外的站点内容和功能。

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

● Maximum parameterized requests per URL:请求该蜘蛛用不同的参数相同的基本URL的最大数目。将此选项设置为一个合理的数字可以帮助避免爬行“无限”的内容。

2:Passive Spidering

● Passively spider as you browse:如果这个选项被选中,Burp Suite 会被动地处理所有通过 Burp Proxy 的 HTTP 请求,来确认访问页面上的链接和表格。使用这个选项能让 Burp Spider 建立一个包含应用程序内容的详细画面,甚至此时你仅仅使用浏览器浏览了内容的一个子集,因为所有被访问内容链接到内容都会自动地添加到 Suite 的站点地图上。

● link depth to associate with proxy requests:这个选项控制着与通过 Burp Proxy 访问的 web 页面 有关的” link depth”。为了防止 Burp Spider 跟踪这个页面里的所有链接,要设置一个比上面 选项卡里的” maximum link depth”值还高的一个值。

3:Form Submission

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

● Don’t submit:开启后蜘蛛不会提交任何表单。

● prompt for guidance:提醒向导。如果被选中,在你提交每一个确认的表单前,Burp Suite 都会为你指示引导。这允许你根据需要在输入域中填写自定义的数据,以及选项提交到服务器的哪一个区域。

● automatically submit:自动提交。如果选中,Burp Spider 通过使用定义的规则来填写输入域的文本值来自动地提交范围内的表单。每一条规则让你指定一个简单的文本或者正则表达式来匹配表单字段名,并提交那些表单名匹配的字段值。

● set unmatched fields to:设置不匹配的字段。

4:application login

● don’t submit login forms:不提交登录表单。开启后burp不会提交登录表单。
● prompt for guidance:提示向导。Burp能交互地为你提示引导。默认设置项。
● handle as ordinary forms:以一般形式处理。Burp 通过你配置的信息和自动填充规则,用处理其他表单的方式来处理登陆表单。
● automatically submit these credentials:自动提交自定义的数据。开启后burp遇到登录表单会按照设定的值进行提交。

5:Spider Engine

● Number of threads – 设置请求线程。控制并发请求数。

● Number of retries on network failure – 如果出现连接错误或其他网络问题,Burp会放弃和移动之前重试的请求指定的次数。测试时间歇性网络故障是常见的,所以最好是在发生故障时重试该请求了好几次。

● Pause before retry – 当重试失败的请求,Burp会等待指定的时间(以毫秒为单位)以下,然后重试失败。如果服务器宕机,繁忙,或间歇性的问题发生,最好是等待很短的时间,然后重试。

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

● Add random variations to throttle:添加随机的变化到请求中。增加隐蔽性。

6:Request Headers

您可以配置头蜘蛛在请求中使用的自定义列表。这可能是有用的,以满足各个应用程序的特定要求 – 例如,测试设计用于移动设备的应用程序时,以模拟预期的用户代理。

● Use HTTP version 1.1 :在蜘蛛请求中使用HTTP/1.1,不选中则使用HTTP/1.0.
● Use Referer header:当从一个页面访问另一个页面是加入Referer头,这将更加相似与浏览器访问。

 

Scanner模块(漏洞扫描)

一、简介

Burp Scanner 是一个进行自动发现 web 应用程序的安全漏洞的工具。它是为渗透测试人员设计的,并且它和你现有的手动执行进行的 web 应用程序半自动渗透测试的技术方法很相似。

使用的大多数的 web 扫描器都是单独运行的:你提供了一个开始 URL,单击‖go‖,然后注视着进度条的更新直到扫描结束,最后产生一个报告。Burp Scanner 和这完全不同,在攻击一个应用程序时它和你执行的操作紧紧的结合在一起。让你细微控制着每一个扫描的请求,并直接反馈回结果。

Burp Scanner 可以执行两种扫描类型:主动扫描(Active scanning),被动扫描(Passive scanning)。

二、模块说明

1:Issue activity

 

2:Scan queue  扫描队列,这里将显示扫描队列的状态 进度 结果等。

 

主要包含以下内容:

1. 索引号的项目,反映该项目的添加顺序。
2. 目的地协议,主机和URL 。
3. 该项目的当前状态,包括完成百分比。
4. 项目扫描问题的数量(这是根据所附的最严重问题的重要性和彩色化) 。
5. 在扫描项目的请求数量进行。
6. 网络错误的数目遇到的问题。
7. 为项目创建的插入点的数量。

3:Live scanning

实时扫描可让您决定哪些内容通过使用浏览器的目标应用,通过BurpProxy服务器进行扫描。您可以实时主动扫描设定live active scanning(积极扫描)和live passive(被动扫描)两种扫描模式。

Live Active Scanning:积极扫描。当浏览时自动发送漏洞利用代码。

 

Live Passive Scanning:被动扫描。只分析流量不发送任何请求。

 

3:Issue Definitions

漏洞列表,列出了burp可以扫描到的漏洞详情

 

4:Options

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

1:Attack Insertion Points

 

2:Active Scanning Engine

 

3:Active Scanning Optimization

 

4:Active Scanning Areas

 

5:Passive Scanning Areas

 

6:Static Code Analysis



转载请注明:成长的对话 » 工具 | Burpsuite各个模块详细使用---上(建议收藏)