JS逆向之极验有感滑块

极验官网https://www.geetest.com/showhttps://www.geetest.com/show

骑毛驴的猴的博客_阿J~_CSDN博客JavaScript,HTTPS,Node.js,小程序,Pythonhttps://blog.csdn.net/qq_26079939声明:本文仅限交流学习使用,请勿使用在任何非法商业活动,禁止用于非法用途。否则后果自负。如有侵权,请告知删除,谢谢!

 一、前言

        极验官网验证码验证方法共有六种(本文主要记录一下 有感验证:滑块 的笔记)

 二、获取验证码

        从接口获取到的验证码是裂开的,这里可以去找些大神的代码拼合下图片

 三、接口参数分析

主要参数有: gt、challenge、w、以及 callback 时间戳 

 四、逆向分析

进入到 slide.7.8.6.js,一步一步往前推直达图下;slide文件直达关键字 "\u0077" 
到这可以看到 w 值是由 h + u 生成的


 观察 h 的生成方式: 加密一组字典 基本字典中都是加密的内容


 进入加密函数内部;可以发现有很熟悉的参数;一般这些参数不是AES就是DES的加密;

之后返回数组进行加减乘除的一些运算


 在进入未知加密函数中;从中函数可以看的出是什么加密使用了什么加密模块


 加密数组得到了接下来就是转码运算了 "m[$_CAGEe(733)]" 进入函数内部;

之前加密的数组传入 '图1' 之后进行了 '图2' 转码操作;生成两组字符串拼接


 到这 基本逆完了, 基本上就扣了转码部分的代码,代码量函数很少的蛤;

接下来干 u 参数  图1:进入函数内部,未知的加密方法   

图2:一串特别的字符串,慢慢调试可以找到是什么加密的这里也是不需要扣 JS         

 


 hu 到这基本结束了, 一步一步看, 接下来逆 h 中加密的 o 是怎么生成的
如图:可以看出 o 主要加密参数  H(t, i[$_CAGDp(154)])、n、e、 r[$_CAGDp(784)]


 先分析  H(t, i[$_CAGDp(154)])  加密 参数为 接口的 challenge 以及一个 t 传入进来的未知

H 加密呢也就出来了 至于什么加密自己猜吧提示:32位的结果

图2: 加密跟 H(t, i[$_CAGDp(154)])  一样也不需要扣 JS


以上分析可以得出 w 值的来源;是由 h + u 得知; 哦~ 还有几个外部函数传入的参数

分别为:n、e、t ; 跟栈 缺少的参数一览无余都在这了;

主要方法 n[$_CJJIW(1078)][$_CJJJd(1051)] 跟 n[$_CJJIW(1078)][$_CJJJd(1069)]

n[$_CJJIW(1078)][$_CJJJd(1051)]: 同样是字符串转码位移操作

n[$_CJJIW(1078)][$_CJJJd(1069)] : 轨迹数组转码操作也是加加减减

 五、隐藏彩蛋

图片的拼合操作在 slide.7.8.6.js 也能找到,其中的数组也是固定的用于拼合图片

 六、测试结果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值