安装burp参考百度教程,不作赘述

Burp Suite代理和浏览器设置

Burp Suite代理工具是以拦截代理的方式,拦截所有通过代理的网络流量,如客户端的请求数据、服务器端的返回信息等。Burp Suite主要拦截http和https协议的流量,通过拦截,Burp Suite以中间人的方式,可以对客户端请求数据、服务端返回做各种处理,以达到安全评估测试的目的。

在日常工作中,我们最常用的web客户端就是的web浏览器,我们可以通过代理的设置,做到对web浏览器的流量拦截,并对经过Burp Suite代理的流量数据进行处理。

当Burp Suite 启动之后,默认分配的代理地址和端口是127.0.0.1 :8080,我们可以从Burp Suite的proxy选项卡的options上查看。如图:

 

设置浏览器代理:为以上地址

或者打开burp自带浏览器

 

如何使用Burp Suite代理

Burp Proxy 是Burp Suite以用户驱动测试流程功能的核心,通过代理模式,可以让我们拦截、查看、修改所有在客户端和服务端之间传输的数据。

本章主要讲述以下内容:

  • Burp Proxy基本使用
  • 数据拦截与控制
  • 可选项配置Options
  • 历史记录History

Burp Proxy基本使用

通过上一章的学习,我们对Burp Suite代理模式和浏览器代理设置有了基本的了解。Burp Proxy的使用是一个循序渐进的过程,刚开始使用时,可能并不能很快就获取你所期望的结果,慢慢地当你熟悉了它的功能和使用方法,你就可以用它很好地对一个产品系统做安全能力评估。 一般使用Burp Proxy时,大体涉及环节如下:

  1. 首先,确认JRE已经安装好,Burp Suite可以启动并正常运行,且已经完成浏览器的代理服务器配置。
  2. 打开Proxy功能中的Intercept选项卡,确认拦截功能为“Interception is on”状态,如果显示为“Intercept is off”则点击它,打开拦截功能。
  3. 打开浏览器,输入你需要访问的URL(以百度百科_全球领先的中文百科全书为例)并回车,这时你将会看到数据流量经过Burp Proxy并暂停,直到你点击【Forward】,才会继续传输下去。如果你点击了【Drop】,则这次通过的数据将会被丢失,不再继续处理。
  4. 当我们点击【Forward】之后,我们将看到这次请求返回的所有数据。
  5. 当Burp Suite拦截的客户端和服务器交互之后,我们可以在Burp Suite的消息分析选项卡中查看这次请求的实体内容、消息头、请求参数等信息。消息分析选项视图主要包括以下四项:
  6. Raw 这是视图主要显示web请求的raw格式,包含请求地址、http协议版本、主机头、浏览器信息、Accept可接受的内容类型、字符集、编码方式、cookie等。你可以通过手工修改这些信息,对服务器端进行渗透测试。
  7. params 这个视图主要显示客户端请求的参数信息、包括GET或者POST请求的参数、Cookie参数。渗透人员可以通过修改这些请求参数来完成对服务器端的渗透测试。
  8. headers 这个视图显示的信息和Raw的信息类似,只不过在这个视图中,展示得更直观、友好。
  9. Hex 这个视图显示Raw的二进制内容,你可以通过hex编辑器对请求的内容进行修改。

默认情况下,Burp Proxy只拦截请求的消息,普通文件请求如css、js、图片是不会被拦截的,你可以修改默认的拦截选项来拦截这些静态文件,当然,你也可以通过修改拦截的作用域、参数或者服务器端返回的关键字来控制Burp Proxy的消息拦截,这些在后面的章节中我们会进一步的学习。 所有流经Burp Proxy的消息,都会在http history记录下来,我们可以通过历史选项卡,查看传输的数据内容,对交互的数据进行测试和验证。同时,对于拦截到的消息和历史消息,都可以通过右击弹出菜单,发送到Burp的其他组件,如Spider、Scanner、Repeater、Intruder、Sequencer、Decoder、Comparer、Extender,进行进一步的测试。如下图所示:

数据拦截与控制

Burp Proxy的拦截功能主要由Intercept选项卡中的Forward、Drop、Interception is on/off、Action、Comment 以及Highlight构成,它们的功能分别是: Forward的功能是当你查看过消息或者重新编辑过消息之后,点击此按钮,将发送消息至服务器端。 Drop的功能是你想丢失当前拦截的消息,不再forward到服务器端。 Interception is on表示拦截功能打开,拦截所有通过Burp Proxy的请求数据;Interception is off表示拦截功能关闭,不再拦截通过Burp Proxy的所有请求数据。 Action的功能是除了将当前请求的消息传递到Spider、Scanner、Repeater、Intruder、Sequencer、Decoder、Comparer组件外,还可以做一些请求消息的修改,如改变GET或者POST请求方式、改变请求body的编码,同时也可以改变请求消息的拦截设置,如不再拦截此主机的消息、不再拦截此IP地址的消息、不再拦截此种文件类型的消息、不再拦截此目录的消息,也可以指定针对此消息拦截它的服务器端返回消息。

是指对拦截的消息添加备注,在一次渗透测试中,你通常会遇到一连串的请求消息,为了便于区分,在某个关键的请求消息上,你可以添加备注信息。

如何使用Burp Scanner

Burp Scanner的功能主要是用来自动检测web系统的各种漏洞,我们可以使用Burp Scanner代替我们手工去对系统进行普通漏洞类型的渗透测试,从而能使得我们把更多的精力放在那些必须要人工去验证的漏洞上。

Burp Scanner基本使用步骤

Burp Scanner基本使用主要分为以下步骤,在实际使用中可能会有所改变,但大体的环节主要就是下面的这些。 1.确认Burp Suite正常启动并完成浏览器代理的配置。 2.进入Burp Proxy,关闭代理拦截功能,快速的浏览需要扫描的域或者URL模块。 3.当我们浏览时,默认情况下,Burp Scanner会扫描通过代理服务的请求,并对请求的消息进行分析来辨别是非存在系统漏洞。同时,当我们打开Burp Target时,也会在站点地图中显示请求的URL树。

4.我们可以有针对性的选择Burp Target站点地图下的某个节点上链接URL上,弹出右击菜单,进行Active Scan。然后在弹出的确认框中,点击【YES】即进行扫描整个域。

6.这时,我们打开Burp Scanner 选项卡,在队列子选项卡中,会看到当前扫描的进度。如果我们双击URL,则弹出扫描结果的提示信息。

7.如果我们在Burp Target站点地图下选择某个子目录进行扫描,则会弹出更优化的扫描选项,我们可以对选项进行设置,指定哪些类型的文件不再扫描范围之内。

8.当我们再次返回到Burp Scanner 选项卡界面时,选择的子目录已经开始在扫描中,其扫描的进度依赖于需要扫描内容的多少。 9.如果我们没有定义了目标作用域(Target Scope),最简单的方式就是在Burp Target站点地图上右击弹出菜单中添加到作用域,然后自动进行扫描。

10.然后进入Burp Scanner的Live scanning子选项卡,在Live Active Scanning控制块中,选择Use suite scope,这样,Burp Scanner将自动扫描经过Burp Proxy的交互信息。

11.当我们再次使用浏览器对需要测试的系统进行浏览时,Burp Scanner不会发送额外的请求信息,自动在浏览的交互信息的基础上,完成对请求消息的漏洞分析。 12.此时,当我再返回到Burp Target站点地图界面,将提示系统可能存在的漏洞情况,以及处理这些漏洞的建议。

13.同时,我们也可以在漏洞提示的请求信息上,将消息发送到Burp Repeater模块,对漏洞进行分析和验证。

14.随着Burp Scanner扫描的进度,在Burp Target站点地图界面上的issues模块中的漏洞信息也会不断的更新。 15.当Burp Scanner扫描完成之后,我们在Burp Target站点地图的选择链接右击,依次选择issues-->report issues for this host 即可导出漏洞报告。

Burp Scanner扫描报告

当我们对一个系统进行扫描完毕后,通常需要生成扫描报告,Burp Scanner支持的报告类型有HTML和XML两种格式。无法何种格式的扫描报告,其内容基本一致,主要由以下部分组成。报告样例可以点击Burp Scanner report查看.

除了头部的综述和目录外,每一个漏洞的章节通常包含: 1.序号 表示漏洞的序号,如果有多个同样的漏洞,报告中只会有一个序号。 2.漏洞的类型,可以近似地理解与OWASP的类型相对应。 3.漏洞名称,具体可参考 Issue Definitions子选项卡。 4.漏洞路径,漏洞对应的多个URL链接。 5.漏洞的发生点,通常为参数名。 6.问题的描述(Issue background) 描述漏洞发生的成因 7.解决建议(Remediation background)提供解决的思路和建议 8.请求消息和应答消息的详细信息。

如果我们想对某次的扫描结果进行保存,需要Burp Target 的站点地图子选项卡的问题面板(Issue)上右击,在弹出的菜单中选择report Issues进行设置并保存即可。(注意,如果想导出所有的漏洞,需要选中所有的问题列表) 具体导出漏洞报告的步骤如下: 1.选中需要保存的漏洞,右击弹出菜单,如下图:

2.在弹出的对话框中选择需要保存的漏洞报告格式。

3.选择漏洞明细包含内

4.请求消息和应答消息设置

5.选择报告包含的漏洞

6.最后,指定报告存放位置、报告名称等属性。

如何使用Burp Repeater

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

Repeater的使用

在渗透测试过程中,我们经常使用Repeater来进行请求与响应的消息验证分析,比如修改请求参数,验证输入的漏洞;修改请求参数,验证逻辑越权;从拦截历史记录中,捕获特征性的请求消息进行请求重放。Burp Repeater的操作界面如下图所示:

请求消息区为客户端发送的请求消息的详细信息,Burp Repeater为每一个请求都做了请求编号,当我们在请求编码的数字上双击之后,可以修改请求的名字,这是为了方便多个请求消息时,做备注或区分用的。在编号的下方,有一个【GO】按钮,当我们对请求的消息编辑完之后,点击此按钮即发送请求给服务器端。服务器的请求域可以在target处进行修改,如上图所示。

应答消息区为对应的请求消息点击【GO】按钮后,服务器端的反馈消息。通过修改请求消息的参数来比对分析每次应答消息之间的差异,能更好的帮助我们分析系统可能存在的漏洞。

在我们使用Burp Repeater时,通常会结合Burp的其他工具一起使用,比如Proxy的历史记录,Scanner的扫描记录、Target的站点地图等,通过其他工具上的右击菜单,执行【Send to Repeater】,跳转到Repeater选项卡中,然后才是对请求消息的修改以及请求重放、数据分析与漏洞验证。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐