某盾js逆向解析 -fp值

  1. 某盾js逆向解析 -fp值
  2. 某盾js解析- 轨迹提交&还原数组
  3. 某盾js逆向解析 - actoken(未完成)

      

某盾js逆向解析

先上 链接 网易易盾 滑块举例

打开F12 刷新 看请求

https://c.dun.163.com/api/v2/get

这个请求

id: 代表网站的ID

 fp: fingerprint

cb: 随机生产

width: 验证码图片宽度

接口返回

 token 是本次验证的编号, bg背景图 front 滑块图

所以要找到 fp和cb 的生成代码

在跟代码 之前  要把js替换成本地的 因为 他的代码后面有个v 刷新后 断点会失效 调试很麻烦

利用 charles或fiddler 或其他工具 能替换就行

 看get请求的堆栈 得知是从 core js文件发出的

格式化一下 搜索 fp:

多下断点尝试下 就知道了  从此得知  cb = s(),   fp = n.fingerprint

先看 s 函数

 大概就是这几个方法  扣出对应js调用即可

再看 指纹 fp

搜索 fingerprint 找到 fingerprint 赋值的地方

 得知 = window.gdxidpyhxde 再搜索 gdxidpyhxde 这个就搜不到第二个地方了

所以需要hook 他生成的时候 利用 油猴

(function() {
    'use strict';
    var fp2 =window.fp;
    Object.defineProperty(window,'gdxidpyhxde',{
        get:function(){
            console.log("调用了fp",fp2)
            return fp2;
        },
        set:function(val){
            console.log("设置了fp",val)
            debugger;
        }
    })
    // Your code here...
})();

首先清除浏览器缓存然后刷新

等断点展示出 值 的时候 向上查找

 给 window赋值

 这个方法里 的h就是指纹fp了

h = h + u[7] + p

u[7] = ':'
p = '当前时间戳'

就是这么生成的 继续跟h的逻辑

h有好几个赋值的地方 都下断点 看看会走哪个

W函数内 会先把  gdxidpyhxde 设为null 然后再利用 P 重新赋值

 将此函数内 h = 的地方都打上断点

 得知 h = Oe 就这么网上找

 Oe = K.join("")K 是 a(U, Ie, $e) push进来的

这是他们三个的值 所以要找到U

 调试的结果就是 U 是在 函数 c 内push的

最终会追踪到环境验证的地方

 分别检测 webgl color canvas  字体   ActiveXObject  plugins 等等

fp -> c6Jr9z1\xk1Du\xwRS+hit42CLBtU42rU4HX\hC/\txSbM8VpNsLNv4b1AwYv\j76pQAYouzwhaas12ybD8p\q/Ko/vHk3UCVB2jNCxL8UUAy60Igk1vPSh9PZT0iGlp72qijTGNLcV2CLqchgp6XUCP14Ps+n6MGe2jf3q4Q29PfZKQ:1627702026076
cb -> TNXaTkGh2T5sHUXEAfpDNczFA97ITpS7QJNJHaljLHZSDuX1nN1\iz4aRciVfS5d
{"data":{"bg":["https://necaptcha.nosdn.127.net/25c099346a1c4a478560e3ebfb64d920.jpg","https://nos.netease.com/necaptcha/25c099346a1c4a478560e3ebfb64d920.jpg"],"front":"","token":"22200686a7594574a1764f87cd254d58","type":9,"zoneId":"CN31"},"error":0,"msg":"ok"}

 最终即可得到正确的fp 拿到滑块的图

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值