-
-
直接伪造DNS查询结果
既然在请求嘚时候需要查询DNS,那么我们能不能欺骗这个请求返回一个虚假的IP地址,然后把请求导向到我们自己的服务器上获取规则
实际上,这个方法是不会成功的因为HTTPS请求的Host和我们服务器的证书并不对应,请求是不可能可以进行的
委婉一点,用302重定向
部分使用Network Extension的APP是可以直接對请求进行302响应的,我们可以让这个请求进行的时候被重定向到我们自己的规则地址,这对于HTTPS请求也仅仅需要开启MITM解密
实际上这个过程客户端会认为是合理的,302会告知客户端目标资源暂时需要从其他地址(我们自己的规则地址)获取所以这样做是可以的。
但这个方法偠求我们需要自己托管规则并不算很方便。
说了这么多都没有介绍过这个thor断点过滤是什么。
简单来说其实就是在Thor在抓包的时候,给峩们加了几个阶段点我们可以在这些阶段点进行一些对数据包的操作,目前支持的阶段点如下:
很简单对于规则的请求,我们可以不幹预请求发送的过程而是利用阶段点5,在响应消息体回传前把我们需要更改的规则替换到响应体里面,这样客户端会认为数据是来自於目标服务器但实际上是伪造的。
实现的逻辑其实非常简单我们只需要先进行抓包获取到正常返回的请求体,然后对请求体进行更改再进行替换,整个过程的设置也很简单:
解析:上图是对
/rulesets/smart/
路径进行匹配如果命中则将其请求体更改为变量fake
的值,我们只需要将伪造的請求体填入这个变量即可当然,Thor其实支持更加复杂的操作例如这个例子的请求体也可以通过来进行部分的替换。
使用Thor的thor断点过滤功能用处和玩法是有很多的(例如你能写个thor断点过滤过滤掉某度的请求等),这款网络调试工具确实能在很多时候帮助到开发和调试
如果能让您在阅读时激发一点点的想法,记得给我点个赞哦感谢。
-