--- notion-id: b37a4b00-b127-4754-928f-c4faeab1e481 --- - Web浏览器 - 被测客户端为移动端 - 被测客户端本身不支持代理设置(例如微信PC版) - 被测服务存在多重代理的 > [!note]+ # 一**、代理设置-Web浏览器** > BurpSuite默认代理地址和端口是127.0.0.1:8080,可以从BurpSuite的`Proxy`选项卡的`Options`里查看到,如下图 > ![[Notion/👽渗透笔记👽/KALI-Linux工具教程/attachments/Untitled.png]] > 这里推荐使用浏览器的代理插件。例如常见的Chrome、Firefox浏览器,推荐使用Proxy SwitchyOmega插件。[`https://proxy-switchyomega.com/download/`](https://proxy-switchyomega.com/download/) > > [!note]+ ## **插件配置** > > ![[Notion/👽渗透笔记👽/KALI-Linux工具教程/attachments/Untitled 1.png]] > > ![[IMG-20260516155634471.png]] > > [!note]+ ## **插件启用** > > 点击浏览器右上角`Proxy SwitchyOmega`插件按钮,选择对应的情景模式,在该页面输入要访问的URL后,此时的请求流量即会通过BurpSuite > > ![[IMG-20260516155634505.png]] > > [!note]+ ## **证书安装** > > 1. 打开浏览器,并启动BurpSuite代理后,在地址栏访问`http://burp` > > 2.点击右上角的`CA Certificate`按钮,将证书文件下载下来 > > ![[IMG-20260516155634581.png]] > > 3.打开下载下来的证书文件,点击`安装证书`,根据提示进行安装 > > ![[IMG-20260516155634594.png]] > > 4.需要注意的是,证书存储需选择存储在`受信任的根证书颁发机构` > [!note]+ # 二**、代理设置-被测客户端为移动端** > 在 BurpSuite 的 Proxy Listeners 中,选中当前在用的代理,点击左侧的 Edit 按钮,在弹出的对话框中,将 Bind to address 选项设置为 `All interfaces`。 > ![[IMG-20260516155634620.png]] > ![[IMG-20260516155634669.png]] > 2.将手机与PC连接同一WiFi,打开手机WiFi设置,设置HTTP代理服务器BurpSuite 所在的 PC 的 IP 地址,端口为 BurpSuite 的代理端口。以 iPhone 为例,其设置如下图所示 > ![[IMG-20260516155634685.png]] > 3. 如果移动端APP走的是HTTPS通道,则也需要安装证书,解决方式同Web浏览器 > [!note]+ # 三**、代理设置-被测客户端不支持代理设置【如微信】** > 当我们需要测试的对象是PC客户端,且该客户端不支持代理设置时,要如何解决呢? > > 方案一:直接设置系统代理,所有流量都会经过BurpSuite;设置方法最为简单,但缺点也显而易见,除了会导致记录的请求过多影响测试外,还会影响其他非测试应用的使用。 > > > 方案二:通过Proxifier工具设置,Proxifier是一款功能非常强大的socks5客户端,可以为本身不支持设置代理的软件设置HTTPS或SOCKS代理/代理链。 > > > Proxifier支持Xp/Vista/Win7/Win10、MAC OS ,支持socks4,socks5,http代理协议,支持TCP,UDP协议,可以指定端口,指定IP,指定域名,指定程序等运行模式,兼容性非常好。 > > 设置方法如下: > **1、代理服务器设置** > 点击 Proxy Servers按钮,打开对话框,点击Add按钮,添加代理服务器配置。 > ```javascript > Address和Port填BurpSuite的代理,也就是127.0.0.1:8080 > Protocol 选择HTTPS > Advanced 高级设置项里可以给该代理自定义一个标签名用于区分 > ``` > ![[IMG-20260516155634735.png]] > ![[IMG-20260516155634785.png]] > 点击Check按钮测试代理设置是否成功,如成功,则会显示Proxy is ready to work with Proxifier > ![[IMG-20260516155634806.png]] > ![[IMG-20260516155634878.png]] > 启用代理规则;点击Proxification Rules按钮,打开对话框;默认有2条直连的规则,点击左下方的Add按钮,进入具体规则设置页面 > ![[IMG-20260516155634886.png]] > ```shell > Name :任意填写 > Applications:设置需要走代理的应用,也就是待测应用 > Target hosts:设置访问哪些网站走代理,根据实际情况填写 > Target ports:设置访问目标网站的哪些端口才走代理,根据实际情况填写即可 > Action:这里选择上一步设置的代理服务器即可。 > ``` > ![[IMG-20260516155634931.png]] > 规则设置好之后,可更改规则的顺序。和 BurpSuite的 Upstream Proxy Servers 一样,越靠前的规则会优先被命中。 > ![[IMG-20260516155634966.png]] > 一切设置就绪后点击 OK 按钮保存。此时BurpSuite 就能够抓取到来自被测应用的HTTP 报文了(*如上图设的是微信,那么在微信里的HTTP请求就均会通过BurpSuite代理*)。同时,在 Proxifier 中也能够看到连接状态与日志。 > **2、代理链设置** > 如果请求需要经过多个代理,Proxifier 也支持代理链的设置。 > 1. 添加多个代理服务器,然后点击按钮Proxy Chains展开代理链设置 > > ![[IMG-20260516155635029.png]] > 2. 点击Create按钮,添加代理链,然后将代理服务器按数据量顺序依次拖入代理链中 > > ![[IMG-20260516155635080.png]] > 3. 点击Type按钮,或者双击代理链名称可进行代理链类型设置 > > ```shell > Simple Chain:简单类型,请求数据从上到下依次经过各代理服务器 > Redundancy:冗余类型,若第一个代理服务器无法连接,则尝试第二个,以此类推 > Load Balancing:负载均衡类型,请求数据会随机地发送到列表中的各个代理服务器 > ``` > ![[IMG-20260516155635098.png]] > 4. 设置完后在Proxification Rules里,把规则的Action改成选择代理链即可 ***最后,BurpSuite里的Upstream Proxy Servers 和 SOCKS Proxy其实已经可以解决被测服务存在多重代理的问题,所以可以不需要在Proxifier里设置。******至于什么是多重代理,在BurpSuite里又该如何设置,下文会进行介绍。*** > [!note]+ # 四**、代理设置-被测服务存在多重代理【科学上网】** > 在某些特殊场景下,我们需要测试的网站本身也需要过一层代理。例如我们访问`www.baidu.com` > ,需要先给浏览器设置SS代理(*127.0.0.1:6666*)。 > 我们首先设置浏览器的代理为 BurpSuite;然后为 BurpSuite 再设置一个上游代理即 SS(127.0.0.1:6666)。这样访问 www.baidu.com 时,请求数据先经过 BurpSuite,然后再流向SS,最后经过 SS 服务器到达www.baidu.com。服务器端返回的响应则刚好相反。 > ![[IMG-20260516155635137.png]] > BurpSuite本身支持这样的设置。在 BurpSuite 的 User options 下的Connections 页面中,`Upstream Proxy Servers`和`SOCKS Proxy`这两个配置项,都是跟代理链相关的。 > ![[IMG-20260516155635166.png]] > **1、Upstream Proxy Servers设置** > 在该设置项中,支持`多个上游代理服务器`规则。也就是说可以同时配置多个 Upstream Proxy Servers,在使用过程中,BurpSuite 会按顺序将请求的主机与 Destination host 中设置的内容进行比较,并将请求内容发送至第一个相匹配的代理服务器。 > 点击Upstream Proxy Servers列表框左侧的 Add 按钮,打开 Add upstream proxy rule 对话框。这里一共有 8 个设置项,一般情况下只需关注前4 个: > ```shell > Destination host:填入目标网站域名或者IP,支持通配符。在本例中我们可以填入 *.baidu.com。 > Proxy host:填入SS代理服务器的IP地址,即 127.0.0.1;若为空表示直接连接。 > Proxy port:填入 SS 的代理地址,即 6666。 > Authentication type:这里选择认证类型,由于 SS 本地代理无需认证,这是选择None。 > ``` > 如果 Authentication type 为 None,则接下来的 4 项内容无需理会,否则需要根据实际情况设置以下 4 项内容。 > ```shell > Username:用户名。 > Password:密码。 > Domain:域;仅用于 NTLM 认证类型。 > Domain hostname:域主机名;仅用于 NTLM 认证类型。 > ``` > ![[IMG-20260516155635214.png]] > **2、SOCKS Proxy设置** > 先在下方的输入框中依次填入 SOCKS 代理服务器的 IP、端口(如果 SOCKS 代理服务器需要认证,还需要填写用户名和密码),然后勾选 Use SOCKS proxy 即可。 > ![[IMG-20260516155635263.png]]