PAC 魔法 让你的代理变得聪明
小星星
- 关注
PAC 魔法 让你的代理变得聪明

抓包这件事情不管在日常开发过程中,还是日常渗透的过程中都是不可或缺的。
但是,大多数情况下,我们都是这么做的。
启动一个 Burp Suite , 设置一个浏览器http 代理,然后,就可以放心大胆的抓走所有的流量了。
这种办法,虽然简单方便。对于小的web系统,app 是完全没有问题的。
但是,假想这么一个需求:
一个app 关联的api 分散在几十个域名下边。
我们只需要关心其中的一个域名下的请求。
我们不希望所有的请求都走到我们的burp 下边。
我们只希望选择我们需要的域名来穿过我们的burp 。
这种问题可以归结为如何构建一个域名的选择代理。
当当当, PAC 文件可以解决我们的需求。
PAC 文件是一个代理的配置文件,本质就是一个js 文件,内部包含一个 FindProxyForURL 的实现,来决定我们的流量去向。
一个简单的实现如下:
function FindProxyForURL(url, host) { //return "DIRECT"; // 表示请求不经过我们的代理 //return 'PROXY 127.0.0.1:7070'; // 表示请求代理到对应的地址 }
PAC 传递请求的URL , host 两个参数,综合一些标准的js 逻辑判断,或者 一些PAC 函数完成逻辑判断,决定是否经过我们的代理,或者经过我们的哪个代理。
文件可以放在本地,或者放到web 服务器上均可。 在代理,自动代理设置中,填写PAC 的地址既可,根据请求的状况来决定数据代理的去向。
另外,这里推荐一个 golang 写的代理类库,可以根据需求对代理的请求加料。
https://github.com/elazarl/goproxy
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 小星星 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏

相关推荐
挂羊头卖狗肉(ldap背后的其他认证)
2021-01-08
先导篇 | 构建零信任https网关系列基本介绍
2020-10-21
使用vscode rest client分析漏洞(CVE-2020-16875)
2020-09-18