在Web渗透测试过程中,BurpSuite是不可或缺的神器之一。

BurpSuite的核心是代理Proxy,通常情况下使用BurpSuite的套路是:浏览器设置BurpSuite代理——>访问Web应用程序——>BurpSuite抓包分析。
今天就写一些不一样的,给BurpSuit设置非本地的网络代理

0x01 一般情况

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

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

0x02 移动端流量抓取

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

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

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

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

当然,如果APP走的是HTTPS通道,仍然需要安装证书才能正常访问,这里安装证书的过程,我没有写上来,网上有很多写得比较好的。

0x03 多重代理的情形

在某些网络环境中,访问目标网站需要走代理。比如说,为了访问google.com,

我已经提前搭配好了一台M国的代理服务器

(如果不清楚怎么搭建代理服务器的话,推荐看一下我的另一篇博文:linux搭建代理服务器 https://www.cnblogs.com/-mo-/p/11251369.html

现在我想对google.com进行渗透测试,那么该怎么设置浏览器代理?

这时候不能简单的把浏览器代理设置为BurpSuite,这样虽然可以进行抓包,但是没有了M国代理服务器的帮助,我们是无法访问google.com的,抓包也就没有意义了。这时候该怎么办?

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

顾名思义,代理链就一系列的代理形成的链条。像刚才那种情形,我们首先设置浏览器的代理为BurpSuite以便能够抓包;然后为BurpSuite再设置一个上游代理即M国的代理服务器。

这样访问google.com时,请求数据先经过BurpSuite,于是可以进行抓包了;然后再流向M国的代理服务器,最后经过本地服务器到达google.com。

服务器端返回的响应则刚好相反。通过这个BurpSuite ==> M国代理服务器的代理链,我们就解决了本节开头所描述的问题。

作为一个神器,BurpSuite是具备这个功能的。

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

3.1 Upstream Proxy Servers

在该设置项中,可以设置多个上游代理服务器规则,满足规则的请求将被发送至相应的代理服务器。只说概念过于无聊,这里就以chaipip.com(一个查询IP地址的网址)为例,进行说明。

为了对chaipip.com进行抓包分析,我们首先要设置浏览器的代理为BurpSuite,这一点是毫无疑问的。

为了能够通过代理访问chaipip.com,还需要设置BurpSuite的上流代理为(113.121.20.183:9999)(这个上流代理也就是上文所说的那台代理服务器的IP及端口)

点击Upstream Proxy Servers列表框左侧的Add按钮,打开『Edit upstream proxy rule』对话框。

这里一共有8个设置项,一般情况下只需关注前4个:

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

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

  • Proxy port:填入的代理地址,即9999。

  • Authentication type:这里选择认证类型,由于这是免费使用的一个代理,无需认证,这是选择None。如果Authentication type为None,则接下来的4项内容无需理会,否则需要根据实际情况设置以下4项内容。

  • Username:用户名。

  • Password:密码。

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

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

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

这时候,你通过浏览器使用的本地代理选项,会发现chaipip.com所显示你的IP为刚刚设置的代理服务器的IP,并且BurpSuite中也成功地抓取到了相应的请求报文。

你可以同时设置多个Upstream Proxy Servers,在使用过程中,BurpSuite会按顺序将请求的主机与Destination host中设置的内容进行比较,并将请求内容发送至第一个相匹配的Proxy server。

因此,Proxy Server的顺序很重要,讲究个先来后到!

3.2 SOCKS Proxy

与Upstream Proxy Servers的作用类似,SOCKS Proxy的功能也是将请求内容发送至相应的代理服务器。不同之处在于,SOCKS Proxy作用于TCP协议层,因此如果设置了该项,那么所有的请求数据都会被发送至SOCKS代理服务器。所以,SOCKS Proxy的设置更简单。同样以免费的代理服务器为例,先在下方的输入框中依次填入SOCKS代理服务器的IP、端口(如果SOCKS代理服务器需要认证,还需要填写用户名和密码),然后勾选Use SOCKS proxy即可。

需要注意的一点是,如果同时设置了Upstream Proxy Servers和SOCKS Proxy,则根据规则应该发送至上游代理的请求将会通过SOCKS Proxy发送。

0x04 参考链接

https://www.anquanke.com/post/id/85925

最新文章

  1. nginx常用代理配置
  2. WPF笔记一
  3. mvc5入门示例博客(有惊喜)
  4. iOS - UIActivityViewController
  5. 下载模板,上传EXCEL
  6. 介绍几个java把网页报存为图片的框架
  7. C#中String跟string的“区别”
  8. Oracle 主键
  9. SQL Server2008 程序设计 汇总 GROUP BY,WITH ROLLUP,WITH CUBE,GROUPING SETS(..)
  10. AIX-df命令
  11. css3:border-radius圆角边框详解 (变圆 图片)
  12. php数组分页类
  13. android软键盘enter键
  14. XMLHttpRequest上传文件实现进度条
  15. static,this,private关键字用法
  16. JS事件委托应用场景
  17. 016 Spark中关于购物篮的设计,以及优化(两个点)
  18. 解决The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers.
  19. Android API之Telephony.Sms
  20. Ngin 简单配置文件

热门文章

  1. Extending WCF using IServiceBehavior, IOperationBehavior, and IParameterInspector
  2. interface Part4(接口中的多态)
  3. python之反射机制与callattr()、issubclass()、isinstance、type()相关
  4. java - day018 - 线程续
  5. 使用华为云+GitHub搭建自己的博客
  6. 快上车,react 入门拾遗
  7. 解决MySQL不需要密码就能登录问题
  8. Vue中的DOM操作
  9. vue 全局变量的处理方式
  10. TDOA 之 基站逻辑代码实现