3.3 流量捕获工具:Burp Suite
针对目标主机的Web系统渗透测试实践,还会经常用到Burp Suite进行流量分析,本节将对Burp Suite的设置及使用进行简单介绍。
Burp Suite是用于Web应用程序的流量分析与利用的集成平台,包含许多工具,可以在流量捕获与流量分析过程中为我们提供非常丰富的功能,并实现对目标主机Web应用程序的流量篡改攻击、流量重放攻击等手段。
Burp Suite的工作方式类似于中间人攻击。中间人攻击(Man-in-the-Middle Attack,简称“MITM攻击”)是一种间接的入侵攻击,这种攻击模式通过各种技术手段将一台计算机虚拟放置在网络连接中的两台相互通信的计算机之间,这台计算机就称为“中间人”。而Burp Suite在使用过程中以代理服务器的形式存在于浏览器以及被测的目标主机Web应用程序之间,我们对被测程序的请求流量将经由Burp Suite转发,在该过程中我们发出或获得的所有流量都可以通过Burp Suite进行修改或重放。
为了实现上述逻辑,需要首先对Kali主机的浏览器设置代理服务器,按如图3-4所示的方式找到并启动Firefox ESR。
图3-4 Firefox ESR启动方式示意图
启动浏览器后,单击如图3-5所示的Add-ons选项,进入浏览器插件管理页面。
图3-5 Add-ons选项位置示意图
之后在插件管理页面的搜索框内搜索“FoxyProxy”关键字,如图3-6所示。Foxy-Proxy是Firefox浏览器中的一款优秀的代理服务管理器,它可以帮助我们方便地设置和开启浏览器代理服务,从而实现后续与Burp Suite的流量通道搭建。
图3-6 搜索“FoxyProxy”关键字操作示意图
搜索上述关键字的结果如图3-7所示,单击其中的FoxyProxy Standard,并将其添加到浏览器,即可完成该插件的添加。
图3-7 “FoxyProxy”关键字搜索结果示意图
之后如图3-8所示,浏览器右上角将新增一个图标,单击该图标即可显示FoxyProxy的功能界面。
图3-8 FoxyProxy功能界面示意图
单击界面中的Options按钮,并在弹出的页面中单击如图3-9所示的Add按钮。
图3-9 Add按钮位置示意图
在弹出的页面中,按如图3-10所示的方式,输入代理服务器名称、IP及端口,并单击右下角Save按钮。由于Burp Suite默认将代理服务设置于本机的8080端口,因此在代理IP和端口字段分别填写127.0.0.1和8080,并将该代理的名称设置为burp。这个名称不是强制选项,只是便于后续使用该配置而设置的,大家可以自行设置自己喜欢的名称。
图3-10 添加代理服务操作示意图
之后如图3-11所示,FoxyProxy将在界面中显示刚才设置的代理名称。单击该名称后,浏览器就将使用对应的代理设置进行网络访问。
图3-11 添加代理服务操作示意图
最后可以测试一下代理服务器的设置效果,启动Burp Suite,启动方式如图3-12所示。
图3-12 Burp Suite启动方式示意图
在弹出的界面(见图3-13)中单击右下角的Next按钮。
图3-13 Burp Suite启动第一界面示意图
在弹出的界面(见图3-14)中单击右下角的Start Burp按钮即可完成启动。
图3-14 Burp Suite启动第二界面示意图
进入Burp Suite后,单击Proxy标签,进入代理服务界面,如图3-15所示。
图3-15 Burp Suite主界面的Proxy标签位置示意图
并且,如图3-16所示,在Proxy标签下选择Options标签,进入设置页面。
图3-16 Burp Suite中Proxy标签下的Options标签位置示意图
之后如图3-17所示,Burp Suite的默认流量监听端口位于Kali主机的8080端口,与我们刚才在FoxyProxy中设置的burp代理设置一致。同时我们还可以增加其他端口作为流量监听端口,这在某些存在端口占用冲突的情况下非常有用。
图3-17 Burp Suite代理设置示意图
如图3-11所示,在FoxyProxy中选择burp代理,并在该浏览器中访问任意一个网站。如图3-18所示,我们的访问请求流量信息将被Burp Suite拦截,它允许我们直接对流量进行编辑和修改,这将对后续的流量分析有非常大的作用。单击Forward按钮将放行并跟踪该流量;单击Drop按钮则将舍弃该流量,被舍弃的流量请求将无法再被对方服务器收到;单击Intercept is on按钮,将暂时关闭Burp Suite的流量捕获功能,该按钮将会显示为Intercept is off,再次单击即可重新启用功能。
图3-18 Burp Suite捕获流量示意图
在第5、7、9、11章的实践中,我们将更深入地使用Burp Suite的更多功能。