0x01 前言
使用Burpsuite进行渗透测试时经常会遇到的这两个场景:1.目标站点在国内,但测试时不想暴露自己的真实IP,或者仅允许指定的白名单IP才能访问,2.目标站点在国外,需要翻墙后才能访问。
如果遇到这类场景时就要用双层代理来进行测试了,这里我只提供几种方法,大家可自行拓展。
0x02 Burp + v2rayN
打开v2rayN客户端,将HTTP代理模式设置为:开启HTTP代理,并自动配置代理服务器(全局代理),然后找一个可用的代理节点来测试看下是否能够翻墙。
自动配置代理服务器,所以无需再去手动开启,SS/SSR默认本地端口一般为1080(SOCKS)和1081(HTTP)。
接着我们在谷歌浏览器用Proxy SwitchyOmega插件选择系统代理即可,或者手动设置SOCKS/HTTP。
完成SSR-HTTP代理的设置后就可以翻墙浏览国外网站了,但不能同时再去设置一个Burpsuite的HTTP代理来抓取网站的数据包。
下面我们就来看一下如何设置双层代理吧(HTTP+HTTP或SOCKS+HTTP)。
第二层代理:
Burpsuite->User options->Connections->Upstream Proxy Servers->添加一条上游代理(SSR-HTTP)。
有8个设置项,只需填前4个即可,或者使用SSR-SOCKS也是可以的,最终的效果都是一样的,就不写了。
Destination host:目标网站域名或者IP,支持通配符,在本例中,我直接填写*
Proxy host:SSR-HTTP代理服务器的IP地址,即127.0.0.1
Proxy port:SSR-HTTP的代理端口,即1081
Authentication type:这里选择认证类型,由于SSR本地代理无需认证,这是选择None
两层代理都设置完成后就可以用http://myip.ipip.net这个网站来抓包测试一下,看最终返回的是我们的公网IP还是SSR代理IP?如果为SSR代理IP则说明是OK的。
我们也可以用Proxifier来设置一个全局代理,这样就无需再去设置上游代理了,可用以下多种代理方式。
本地HTTP代理(127.0.0.1:8080);
SSR-HTTP代理(127.0.0.1:1081);
SSR-SOCKS代理(127.0.0.1:1080);
接着再去Windows自带的代理中设置下Burpsuite监听的代理服务器IP和端口即可,但最好不要用谷歌插件去设置代理,因为这是全局代理,使用插件可能导致抓不到其他程序的数据包,如:公众号。
使用谷歌浏览器进行抓包时千万不要忘了在Proxy SwitchyOmega插件中选一下系统代理,下图中可以看到已经成功的抓取到了谷歌和Youtube数据包。
注意事项:
这里简单总结了一下,利用代理节点设置双层代理的方式可分为3种:上游代理、SOCKS代理、全局代理。使用Proxifier进行全局代理时得自己去设置下代理规则,否则可能会产生大量垃圾数据。
全局代理这种方式不仅可以抓网站的数据,也可以抓一些C/S端软件、移动端APP、公众号、视频号等数据,但是小程序好像抓不了,自己去测试一下。
0x03 Burp + SSTap
SSTap是利用虚拟网卡实现的网络层代理,支持TCP/UDP。这种方式配置起来更简单,只需将我们SSR节点订阅地址放里边更新一下,然后连接就OK了。
Windows自带的代理中设置下Burpsuite监听的代理服务器IP和端口即可,设置都一样,就不再截图了。
直接看下返回的是我们的公网IP还是SSR代理IP?OK,没问题,就写到这吧!
SSTap还有一个很好用的事件管理功能,能够在触发某事件时执行某些动作,如我们设置的这个事件:
当代理节点被断开之后提示结束java.exe进程,这样能避免在Burpsuite测试时暴露真实IP。
0x04 Burpsuite乱码
响应包中如果存在中文字符时可能会出现乱码,可通过在User Options->Display修改以下两个选项来解决。
1.修改编码为UTF-8/GBK/GB2312,2.设置一个中文字体,非中文字体可不行哦。
征集原创技术文章中,欢迎投递
投稿邮箱:[email protected]
文章类型:黑客极客技术、信息安全热点安全研究分析等安全相关
通过审核并发布能收获200-800元不等的稿酬。