某盾js逆向_fp参数详解

本文详细解析了如何通过调试和代码补全获取cb参数,并介绍了一种利用浏览器事件监听获取fp参数的方法。重点在于理解浏览器参数检测和补全技术在验证码破解中的应用。

本博客仅供学习使用,请勿用作其他商业用途,如有侵权,请立马告诉本菜鸟,谢谢!
上一篇博客中,本菜鸟推演出了cb参数的具体实现流程和算法,并用Python代码进行了还原,因为2.62这个版本的js是经过混淆了的,所以这其中的工作量还是比较大的,但是作者也是坚持了下来,可以说这一代的某盾所有的参数都已经被本菜鸟拿捏,所以呢就为大家提供一个学习的思路
今天废话有点多了,接下来我们直接开干!
首先,我们搜索fp打上断点:
在这里插入图片描述
运行程序,进入第一个断点,发现其中fp中存在值,所以我们继续跟右侧的栈:
在这里插入图片描述
在这里插入图片描述
我们逐渐跟到这个函数内部,发现window.gdxidpyhxde是在这个函数内实现的,且和我们fp参数一致,所以我们锁定此函数,此函数返回的_0x32faa8 = _0x32faa8 + _0x404143[0x7] + _0x38c56c就是我们需要的fp参数,如果大家不好跟到这个函数,我为大家提供一个hook的方法:
1.打开浏览器清空网站缓存
2.打上浏览器事件监听断点
在这里插入图片描述
3.点击断点运行

4.当运行至下面这个页面,注入hook代码,注入成功后放开断点(这里也可以直接用油猴插件)
在这里插入图片描述

(function() {
    'use strict';
    var _fp =window.gdxidpyhxde;
    Object.defineProperty(window,'gdxidpyhxde',{
        get:function(){
            console.log("调用fp",_fp)
            debugger;
            return _fp;
        },
        set:function(val){
            console.log("生成fp",val)
            debugger;
            this._value = val;
            return val;
        }
    })
    // Your code here...
})();

5.运行后程序会直接在生成fp参数时断住,后面就直接跟栈,查看参数
在这里插入图片描述
然后就直接跟到函数内部_0x18a835()在这里插入图片描述
这个函数得到fp的值,所以我们就扣这个函数,但是在扣取的过程中,这段js代码在检测我们的浏览器参数,秉着缺啥补啥的原则,我们要补齐检测的这些属性,这里的知识点覆盖太多,就此略过 ^_^
在这里插入图片描述
在这里插入图片描述
所以我们在扣js代码的时候要补全这段代码所需的浏览器环境,这里我就不做过多的阐述了,下面看看我的一部分代码
在这里插入图片描述
在这里插入图片描述
用Python代码测试一下:
在这里插入图片描述
这样我们的fp参数就顺利生成成功了!而且加入cb参数后,请求验证码图片,请求成功!
在这里插入图片描述

有疑问请联系作者

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值