BurpSuite 在渗透测试中几种常用的代理设置

发布于 2020-12-27  158 次阅读


一、一般情况

一般情况就是利用BurpSuite对采用HTTP协议的网站进行抓包分析和渗透测试。

这种情况下,默认情况是把浏览器的代理服务器设置为127.0.0.1:8080。

BurpSuite默认监听8080号端口

Chrome浏览器推荐使用Proxy SwitchyOmega插件来代理服务器,使用Firefox浏览器的话也可在插件市场里下载相应的代理插件。在插件设置里面新建一个情景模式,把上图Burp显示监听的端口号填进去。

然后在Chrome浏览器的Proxy SwitchyOmega插件选中相应的情景模式,在Burp里点击『Proxy->Intercept->Intercept is on』,就可以对网页进行抓包测试了。

Burp该状态为正在监听抓包状态

二、测试HTTPS网站

很多人在第一次使用BurpSuite抓取HTTPS网站报文时都会遇到“您的连接不是私密连接”之类相似的问题,这主要是我们没有安装Burp的证书。

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

下载Burp证书

最后在Chrome浏览器里,点击『设置->隐私设置和安全性->安全->管理证书』,只需把刚下载下来的cacert.der证书导入到浏览器即可。

设置->隐私设置和安全性->安全->管理证书
可以看到PortSwigger CA证书就是成功导入了

现在就可以对HTTPS网站进行抓包测试了,Firefox浏览器的操作与上面类似。

三、测试移动端APP

这里主要以雷电模拟器来模拟在安卓环境下利用Burp抓取手机移动端app流量的情况。

在本机cmd下查看自己电脑ip后,在Burp的Proxy模块下选择该IP和添加一个端口,这里测试时本机的ip是172.23.202.232,选择监听4399端口。

接着在雷电模拟器上打开【设置】->【WLAN】->长按wifi后->【修改网络】,然后将电脑ip和Burp监听的端口号填入代理服务器设置上。所以,如果平时是使用真实手机来进行渗透测试的话,也需要将手机和电脑连在同一局域网上。

在手机端上设置代理服务器

在雷电模拟器的浏览器上访问172.23.201.232:4399,接着这里跟上面一样下载Burp的证书。当然,也可以在Burp里直接下载证书后再上传至手机端上。

在手机端上直接下载证书
在Burp上下载完证书后,自己再将证书上传至手机端上

不过这里跟上面一开始在电脑上下载安装证书唯一不同的是,这里需要将下载下来或者上传过来的cacert.der证书的后缀名修改成.cer,即重命名为cacert.cer

将证书重命名成cacert.cer

最后,就是在手机上安装Burp的证书了,这里不同手机安装证书的地方可能不太一样,这里以雷电模拟器上操作为例。打开【设置】->【安全】->【从SD卡安装】

找到在手机端上刚重命名后的证书,然后这里可以随便写个证书名称,凭据用途可以选择WLAN。

这里因为我没设置密码或者pin码,所以会弹出个提示,设置后就可以了。

然后在手机上【信任的凭据】里如果有显示PortSwigger证书的话,就表示手机上安装证书成功了,接下来就可以在Burp上对手机上的流量进行抓包测试了。

四、多重代理设置

如果是遇到访问目标网站需要走代理的情况,例如为了访问google.com,我进行了socks代理,现在想对国外的网站进行渗透测试的话,我们就必须要借助代理链了。

代理链就是一系列的代理形成的链条。像上面那种情形,我们首先设置浏览器的代理为BurpSuite以便能够抓包;然后为BurpSuite再设置一个上游代理即socks。这样访问google.com时,请求数据先经过BurpSuite,于是可以进行抓包了;然后再流向socks,最后经过socks代理服务器到达google.com。服务器端返回的响应则刚好相反。

在BurpSuite的User options模块下Connections页面中,我们可以在【Upstream Proxy Servers】和【SOCKS Proxy】这两个配置项里配置代理链。

4.1 Upstream Proxy Servers

以抓取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认证类型。

这时候就可在访问google.com的同时,在BrupSuite上对其网页进行抓包了。当然,我们可以同时设置多个Upstream Proxy Servers,在使用过程中,BurpSuite会按顺序将请求的主机与Destination host中设置的内容进行比较,并将请求内容发送至第一个相匹配的Proxy server。

4.2 SOCKS Proxy

与Upstream Proxy Servers的作用类似,SOCKS Proxy的功能也是将请求内容发送至相应的代理服务器。不同之处在于,SOCKS Proxy作用于TCP协议层,因此如果设置了该项,那么所有的请求数据都会被发送至SOCKS代理服务器。

先在下方的输入框中依次填入SOCKS代理服务器的IP和端口(如果SOCKS代理服务器需要认证,还需要填写用户名和密码),然后勾选Use SOCKS proxy即可。

这里需要注意的是,如果同时设置了Upstream Proxy Servers和SOCKS Proxy的话,那发送至上游代理的请求只会通过SOCKS Proxy发送。

以上就是Burpsuite在渗透测试过程中一些比较常见的代理设置。

本站文章由渡缘人原创,如若转载请注明原文及出处:
https://www.hygrey.com/common-proxy-settings-in-burpsuite.html

万物皆有裂痕,那正是光照进来的地方
最后更新于 2021-02-25