HTTP抓包利器Fiddler基础及进阶教程(四)----使用Fiddler破解离线版极验验证

前三篇文章中介绍了Fiddler的抓包捕获,请求篡改等部分功能,本文将通过一个例子具体介绍Fiddler的在某些特定应用场景下的使用。

本文最终目的:通过极验离线版滑块验证
目标网站 :小微企业名录

1.png

一.分析过程

抓包调试,找到geetest_validate值计算入口,离线版很好找,肉眼就能找到,在offline.6.0.0.js处


2.png

其中c.o方法用于产生滑块缺口位置,c.ajax方法并没有真的发出请求,而是生成了一个包含所需参数的对象,这里我们可以看到validate参数的生成规则。而滑块成功的条件就是c值和f值之间的误差小于3,通过多次对比发现f值就是滑块缺口位置,c值为用户拖动滑块的距离
那么解决思路就很简单,保证c值和f值之间的误差小于3即可。

二.使用Fiddler进行验证测试

1.将offline.6.0.0.js下载到本地,并修改代码

3..png

将c值保持在f±3范围即可

2.启动Fiddler,并将浏览器的代理指向Fiddler监听的地址

4.png

3.配置Fiddler的AutoResponder规则替换目标网站js

5.png

将目标js的位置替换为上面修改的本地js


6.png

启用规则

4.检查是否成功替换

打开目标页面,进入浏览器调试,查看对应的js文件

7.png

如图所示即为成功替换,如果没有成功,请检查代理是否正确指向fiddler监听地址,并禁用缓存再刷新试试,禁用缓存如下图。


8.png

5.滑动测试

滑动到任意位置松开都可通过验证


9.gif

三.FiddlerCore代码实现

            FiddlerApplication.BeforeResponse += (oS) =>
            {
                if(oS.fullUrl.Contains("static.geetest.com/static/js/offline.6.0.0.js"))
                {
                    var responsetext = oS.GetResponseBodyAsString();
                    /*
                    * 
                    此处添加修改响应内容代码 具体功能就是将目标返回替换为本地js文件
                    * 
                    */
                }
            };

爬虫教程,思路分享,商务合作,请关注射线网络公众号

你可能感兴趣的:(HTTP抓包利器Fiddler基础及进阶教程(四)----使用Fiddler破解离线版极验验证)