返回顶部

Proxifier配合burp抓包但是burp收不到响应包解决思路

题记

         最近公司的项目比较特殊,不是传统的在web端的测试。而是客户给了一个exe,安装在电脑之后需要登录在工作台点击相关系统测试,点击相关系统后会在exe内部开一个窗口显示网站内容。后面引出我们本次发现的问题。

使用工具

       1、Proxifier

  2、burp

Proxifier配合burp

         我们想抓exe内部的网站,第一个思路便是在proxifier开配置全局代理代理到https://127.0.0.1:8080的burp上,burp(java.exe)走直连。这种思路缺点就是会抓到大量的我们不需要的垃圾数据包。

 

  测试后发现我们所有的请求都收不到响应包,一时间陷入了难题。

   第一个思路不行我就尝试了一下第二个思路,是在proxifier开配置全局代理直连,然后把想抓包的exe单独配置代理到https://127.0.0.1:8080,这里java.exe的代理规则可关可不关。

         这样配置完之后发现网络还是不通,全局代理可将所有的请求包转发到burp上但是收不到响应包,在网上搜了很多教程均不适用,测试了很多遍,大方向认为是burp相关问题。一挂全局Burp就收不到响应,怎么调整都不好。

 

         最后发现一篇文章是这么说的。

    有一点设置通常容易被忽略,就是在Proxifier中,设置[Profile] — [Name Resolution] — 勾选 [Resolve hostnames through proxy],让域名解析的工作交给代理服务器,而不是在Proxifier上解析。
    默认情况下Proxifier自行解析域名,比如www.baidu.com解析为180.97.33.108,然后发请求给Fiddler:CONNECT 180.97.33.108:443 HTTP/1.1
    这样Fiddler并不知道它请求的是哪个域名,于是返回给客户端的伪造证书时,伪造的是为180.97.33.108颁发的证书,有的客户端会做校验,发现这个证书是颁发给180.97.33.108的,而不是颁发给www.baidu.com的,然后报错处理。
    修改Proxifier设置后,把域名解析的工作交给代理服务器,Proxifier会直接向Fiddler发送请求:
    CONNECT www.baidu.com:443 HTTP/1.1
    这样Fiddler就知道客户端请求的是 www.baidu.com,从而返回客户端伪造的www.baidu.com证书,客户端不报错,Fiddler才能顺利抓包解密。

  通过对上面的理解我们知道我们是通过Proxifier转发到burp上的,而burp是不存在域名解析的功能的,所以他找不到目标地址。因此我们不让域名解析的工作交给代理服务器,就需要关闭Resolve hostnames through proxy。

  解决办法:设置[Profile] — [Name Resolution] — 取消勾选 [Resolve hostnames through proxy]

 

  访问即可恢复正常,用fillder的时候在勾选上即可。

 

参考文章

         Fiddler抓包指南:结合Proxifier工具:https://blog.csdn.net/china_jeffery/article/details/93000824

posted @ 2023-02-27 14:07  11阳光  阅读(3022)  评论(0编辑  收藏  举报