美文网首页
HTTP抓包利器Fiddler基础及进阶教程(四)----使用F

HTTP抓包利器Fiddler基础及进阶教程(四)----使用F

作者: 射线网络 | 来源:发表于2019-07-15 11:24 被阅读0次

    前三篇文章中介绍了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基础及进阶教程(四)----使用F

          本文链接:https://www.haomeiwen.com/subject/uligkctx.html