配置 FoxyProxy 规则自由切换代理模式

背景介绍

FoxyProxy 已经是很好用的 Firefox 插件了,但是缺少键盘快捷键切换代理让使用体验变得很麻烦。

举例说明,FoxyProxy 设置了 4 个代理,分别是 Socks,none,BurpSuite 以及 ZAP。

Socks 你懂的,none 代表无需代理,BurpSuite 和 ZAP 是在测试 webapp 的时候使用(TryHackMe HackTheBox)。Burp 和 ZAP 我经常配合使用。麻烦事情就来了,如果每次使用 Burp 和 ZAP 的时候,都要手动切换,效率真的太低了。

幸好 FoxyProxy 有正则规则可以将 URL 自动分配给相匹配的代理。

因此我做了一个脚本,将每次的 IP 对应生成的域名写入到 /etc/hosts 文件,然后根据域名来匹配规则,自动切换到相应的代理。

解决方案

Socks 代理不说了,各位自己添加相应的白名单和黑名单即可。

只说 Burp 和 ZAP 的思路,大家自己尝试。

这是 Burp 代理的设置:
在这里插入图片描述这是 Burp 代理的规则:
在这里插入图片描述ZAP 代理类似,这是设置:
在这里插入图片描述这是规则:
在这里插入图片描述因此,只要给浏览器的 URL 匹配 xx.burp.thm,就自动启用 Burp 代理,只要是 xx.zap.thm 就自动启用 ZAP 代理。

那么剩下就是域名和 IP 地址的解析问题了。通常 TryHackMe 和 HackTheBox 这些都只提供 IP 地址,所以只需要将对应 IP 和域名写入 /etc/hosts 即可。

脚本如下。

#!/usr/bin/env bash

sudo sed -i '' -e :a -e '$d;N;2,3ba' -e 'P;D' /etc/hosts

# first argument is IP, second argument is subdomain name
echo -e "$1\t\t$2.none.thm" | sudo tee -a /etc/hosts
echo -e "$1\t\t$2.zap.thm" | sudo tee -a /etc/hosts
echo -e "$1\t\t$2.burp.thm" | sudo tee -a /etc/hosts

运行脚本提供两个参数,第一个是目标 IP, 第二个是子域名。也就是上面所说 xx 的部分。

比如说运行

./script.sh 2.2.2.2 opr

脚本会删除 hosts 文件最后3行,然后增加新的解析关系如下。

2.2.2.2         opr.none.thm
2.2.2.2         opr.zap.thm
2.2.2.2         opr.burp.thm

脚本的功能自行修改。思路就是这样。

那么现在就可以在浏览器使用域名访问目标机器了,并且无需手动,自由切换代理。

注意事项

另外,BurpSuite 很搞笑,默认设置不能解析域名。比如使用 bp.burp.thm 来访问目标机器,会显示 unkown host
在这里插入图片描述最后无法访问。
在这里插入图片描述

这里必须单独在 Burp 中设置解析才行。

在这里插入图片描述

填入相应的域名和 IP 即可。

现在可以正常解析了。

在这里插入图片描述在这里插入图片描述现在,访问 bp.none.thm,自动启动 none 代理;访问 bp.burp.thm,自动启动 Burp 代理;访问 bp.zap.thm,自动启动 ZAP 代理;访问其他,自动启动 socks 代理。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
Burp 的行为还不清楚为什么会导致无法解析,再研究。至少现在用起来顺手多了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值