频道栏目
首页 > 安全 > 网络安全 > 正文

BurpSuite 代理设置的小技巧

2017-04-21 09:56:57           
收藏   我要投稿

BurpSuite 代理设置的小技巧。在Web渗透测试过程中,BurpSuite是不可或缺的神器之一。BurpSuite的核心是代理Proxy,通常情况下使用BurpSuite的套路是:浏览器设置BurpSuite代理——>访问Web应用程序——>BurpSuite抓包分析。本人从事Web渗透测试尚不足一年,这期间在代理设置过程中踩到过一点『小坑』,现在将我踩过的『小坑』总结一下。本文主要面对新人朋友,老司机们请不吝赐教~

0x01 一般情形

最一般的情形是针对采用HTTP协议的Web应用程序的渗透测试。这种情况下,直接设置浏览器的代理服务器为BurpSuite即可,默认为127.0.0.1:8080。

\

当然,直接更改浏览器的代理服务器设置比较繁琐,更好的办法是使用浏览器插件,预先设置好代理方案,然后根据实际情况一键切换。Chrome推荐使用Proxy SwitchyOmega插件:

\

Firefox推荐使用FoxyProxy:

\

至于IE浏览器,说实在话用得很少,不建议用于渗透测试。一方面,IE不支持扩展插件;另一方面,IE的代理设置也就是系统全局代理,一旦更改了IE的代理,除了那些自带代理设置的程序外(如安装了Proxy SwitchyOmega扩展的Chrome浏览器),其他程序请求数据都要走代理,给我们的测试带来很大不便。但是,如果你非要用IE的话(比如针对某些不支持Chrome和Firefox的网银系统进行渗透测试),也有比较方便的解决办法,容我先卖个关子,后文会有说明。

0x02 HTTPS网站的情形

许多人在第一次使用BurpSuite抓取HTTPS网站报文时都会遇到『您的连接不是私密连接』(Chrome)、『此网站的安全证书存在问题』(IE)或者『您的连接不安全』(Firefox)的问题,这时候怎么办?

\

这个问题其实很简单,安装一个证书即可解决,想知道原因的可以自行Google一下HTTPS原理就能够得到答案。

首先,浏览器设置好BurpSuite代理服务器后,访问http://burp,然后点击右上角的CA Certificate,这时会自动下载一个名为cacert.der的证书文件。

\

打开这个证书文件,根据提示安装这个证书,基本上是一路『下一步』,唯一需要注意的是,在『证书存储』这一步选择将证书存储在『受信任的根证书颁发机构』。

\

证书安装好之后,Chrome和IE就能够正常访问HTTPS网站了(由于Google一直在推全网HTTPS,Chrome对证书要求很严格,我们安装的证书不是权威机构颁发的,因此地址栏会一直提示『不安全』,但是不影响使用)。

不过,如果你使用Firefox浏览器的话,还需要增加一步,即将证书导入到Firefox中。打开Firefox的『选项——高级——证书』,然后点击『查看证书』按钮打开『证书管理器』。

\

在『证书管理器』中,点击下方的『导入』按钮,导入之前下载的cacert.der证书文件,并且在弹出的『下载证书』对话框中,勾选3个『信任使用此CA标识的……』复选框,最后点击『确定』即可。

\
\

这时候,Firefox也可以正常使用了。

0x03 移动端流量抓取

有时候,我们还需要对移动APP进行抓包分析,这时候该怎么办?

其实很简单,两步即可解决。

第一步,在BurpSuite的Proxy Listeners中,选中当前在用的代理,点击左侧的Edit按钮,在弹出的对话框中,将Bind to address选项设置为All interfaces。

\

第二步,手机和PC连接同一Wifi,打开手机Wifi设置,设置HTTP代理服务器为BurpSuite所在的PC的IP地址,端口为BurpSuite的代理端口。以iPhone为例,其设置如下图所示。

\

然,如果APP走的是HTTPS通道,仍然需要安装证书才能正常访问,方法同前,不再赘述。

0x04 多重代理的情形

在某些网络环境中,访问目标网站需要走代理。比如说,为了访问google.com,我已经给浏览器设置了SS代理(默认127.0.0.1:1080),现在我想对google.com进行渗透测试,那么该怎么设置浏览器代理?这时候不能简单的把浏览器代理设置为BurpSuite,这样虽然可以进行抓包,但是没有了SS的帮助,我们是无法访问google.com的,抓包也就没有意义了。这时候该怎么办?

在这种情况下,我们必须借助代理链了。

顾名思义,代理链就一系列的代理形成的链条。像刚才那种情形,我们首先设置浏览器的代理为BurpSuite以便能够抓包;然后为BurpSuite再设置一个上游代理即SS。这样访问google.com时,请求数据先经过BurpSuite,于是可以进行抓包了;然后再流向SS,最后经过SS服务器到达google.com。服务器端返回的响应则刚好相反。通过这个BurpSuite——SS的代理链,我们就解决了本节开头所描述的问题。

作为一个神器,BurpSuite是具备这个功能的。在BurpSuite的User options下的Connections页面中,有『Upstream Proxy Servers』和『SOCKS Proxy』这两个配置项,都是跟代理链相关的。接下来逐一进行说明。

\

1. Upstream Proxy Servers

在该设置项中,可以设置多个上游代理服务器规则,满足规则的请求将被发送至相应的代理服务器。只说概念过于无聊,还是以google.com为例进行说明。

为了对google.com进行抓包分析,我们首先要设置浏览器的代理为BurpSuite,这一点是毫无疑问的。为了能正常访问google.com,还需要设置BurpSuite的上流代理为SS(127.0.0.1:1080)。点击Upstream Proxy Servers列表框左侧的Add按钮,打开『Edit upstream proxy rule』对话框。这里一共有8个设置项,一般情况下只需关注前4个:

Destination host:这里填入目标网站域名或者IP,支持通配符(*表示0个或者任意个字符,?表示除点号之外的任意一个字符)。在本例中,我们可以填入*.google.com。

Proxy host:填入SS代理服务器的IP地址,即127.0.0.1。如果为空表示直接连接。

Proxy port:填入SS的代理地址,即和1080。

Authentication type:这里选择认证类型,由于SS本地代理无需认证,这是选择None。

如果Authentication type为None,则接下来的4项内容无需理会,否则需要根据实际情况设置以下4项内容。

Username:用户名。

Password:密码。

Domain:域。仅用于NTLM认证类型。

Domain hostname:域主机名。仅用于NTLM认证类型。

设置内容如下图所示,最后点击OK即可。

\

这时候你会发现google.com已经能够访问了,并且BurpSuite中也成功地抓取到了相应的请求报文。

你可以同时设置多个Upstream Proxy Servers,在使用过程中,BurpSuite会按顺序将请求的主机与Destination host中设置的内容进行比较,并将请求内容发送至第一个相匹配的Proxy server。因此,Proxy Server的顺序很重要,讲究个先来后到!

上一篇:Eternalromance (永恒浪漫) 漏洞分析
下一篇:ShadowBroker释放的NSA工具中Esteemaudit漏洞复现过程
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站