某盾滑块js逆向

注:本篇博客仅供学习使用,请勿用做其他商业用途,如有侵权,请联系本菜鸟删除
本小菜鸟已经快两个月没更新文章了,一年总有那么356天不想努力,就想躺平,最开始学习js逆向的时候,用Python算法还原了某盾的空间推理,到现在已经过去半年多,这半年时间收获了很多,也得到了很多大佬的指点,所以我愿意把我遇到的一些学习经验分享给大家,希望大家在学习的过程中少走一些弯路。
好了,废话说了一大推,下面是本次学习的目标网址

网址:aHR0cHM6Ly9kdW4uMTYzLmNvbS90cmlhbC9qaWdzYXc=

难点分析:

  • 加密的参数较多,其中一个有问题就会导致请求不成功,最终失败,本小菜鸟在逆向的过程中踩了不少的坑
  • 有两个加密参数中会涉及到随机值,而且随机值不能始终固定为一个,不然也会造成失败
  • 滑块的距离和轨迹的距离会有差距,就拿官网的滑块来说相差10px左右(具体的网站具体分析)
  • 有几个参数的加密会涉及到浏览器环境检测,建议大家用Proxy()拦截逐一检查补环境,或者使用jsdom

流程分析:

  • 【d请求】[请求参数]:(d,v) -----> [返回参数]:一个列表
  • 【b请求】[请求参数]:(d,v) -----> [返回参数]:一个列表,有很多博主说b请求可做可不做,不重要,但是这是某盾逆向必不可少的一个重要步骤
  • 【get?referer请求】[请求参数]:(acToken,fp,cb等) ----> [返回参数]:验证码背景图片,滑块图片,token
  • 【check?referer请求】[请求参数]:(data,cb等) ---->[返回参数]:成功返回validate

主要的流程就是这几个请求,加密请求参数都在流程里面体现出来了,接下来咱们就按照上面的顺序开搞

一、d请求与b请求(重点)

说明:

  1. d请求和b请求是某盾的风控请求,都在watchman这个文件中,目前最新的版本是:2.7.5_af2952a4,这个版本号在后面的加密和请求中都有用到
  2. d请求返回成功后的第三个元素和第四个元素是后面b请求中d参数加密所需的,第四个元素是actoken这个加密参数所需的
  3. b请求d参数加密的元素中有一个参数是需要拿到actoken这个参数中去加密激活的,由这一步来说,b请求对于某盾来说就是必须的了
    1.d请求
    在这里插入图片描述
    调试入口:
    清空浏览器缓存,刷新页面
d请求和b请求的调试入口都是一样的

在这里插入图片描述

d请求d参数:f值可固定当然也可以扣取js(想证明一哈自己的实力的选手),只是其中有很多检测环境的点(包括navigation和document等等),c = Ya(),还有d值需要我们扣js

在这里插入图片描述
Ya()函数中Kb值固定,Oa值watchman的请求版本号 ,其他的对照扣js就行,没得啥难度
在这里插入图片描述
d值的扣取函数:将Ta整个对象扣取下来,定义成固定值
在这里插入图片描述
扣取完成后d请求d的值
在这里插入图片描述
d请求成功返回的值:
在这里插入图片描述
2.b请求
w和u这两个值有实力的选手也可以扣一下js,但是经过本小菜鸟调试的经验,这两个值可以写成固定值,不影响(至少我的是这样 >_>),就剩下e=Ya(),这个函数和上面d请求的Ya()是一样的,区别在于传入的参数不同
在这里插入图片描述
在这里插入图片描述
好了,d请求和b请求就讲完了

二、actoken

说明:以前的版本actoken是在check这个接口才验证的,当前的版本移到了get?referer这个接口来验证了,不过问题不大
调试:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
进入到dc函数中:
从下面这个a值就可以看出b请求和d请求都是在actoken来校验的(可以去对照前面d和b请求返回的参数)
在这里插入图片描述
在这里插入图片描述
我之前的文章中也有讲到,这里就不做过多的阐述

三、fp参数

前面我有文章写了fp参数,其中检测了一些浏览器环境,用Proxy()拦截一哈,补齐环境即可(跳过跳过)

四、data参数

在这里插入图片描述
进入到 onMouseUp函数,可以看到data参数就是在此处加密组装完成的,其中涉及到轨迹加密滑块滑动的长度图片返回的token,check请求中width的值
在这里插入图片描述
移动轨迹:[x位移,y位移,时间差]
在这里插入图片描述

在这里插入图片描述
好了好了,data参数就这样吧,轨迹自己造一个就行,内容太多,手敲痛了

五、cb参数

请求图片和验证接口都用到了这个cb参数,注意的是这两个地方的cb参数不能重复使用,而且这个cb参数的逆向过程非常简单,在逆向data的过程中就能顺带的搞出来,所以我也不做过多的解释了,有需要的也可以去看我前面的文章,很详细

六、运行截图

在这里插入图片描述
成功率就是,现在还没失败过 >_>

在这里插入图片描述

  • 19
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值