声明

本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!

目标网站

https://www.bilibili.com/          登录分析

分析过程

极验分析

直接查看login的极验的调用的js,点击去看看发现俩个文件全部混淆了

我解开看看,肯定有好东西呢!

先分析click文件



某些字符串是转义序列,此时我们需要转换。

tips:当这些 Unicode 编码以 "\uXXXX" 的形式出现时(其中 XXXX 是 4 位十六进制数),它们通常被用作字符串中的转义序列,表示一个特定的 Unicode 字符。

还发现了调用了个解密函数,输入对应的number即可输出解密的字符串


还发现了for-switch结构中用死数组的来判断执行的每个case。被吓到了。
解密效果如下



发现w参数在哪里了!

继续分析

分析o参数的来源
通过设置原型代理去hook找到set-key,即可找到整个对象设置的过程


继续溯源

发现原来是请求响应体拿到很傻哈哈,很低效率,不过细节全收入囊中,值得的

点击坐标this.$_BIFO.$_BHDz





这里的t是判断点击在哪里(按钮为3,其他为1),dt是当前时间-初始化时间


属性来源

取domracet的右减去左



基本上o对象的所以属性都解析的差不多了,剩下的都是就是组成业务逻辑了!

还原后的click.js已放到星球,以方便各位相关调试,寻找算法、检测点学习

b站login-password分析

往上追溯是个异步,从控制流找到个异步,单步追踪


拿请求的hash和pubkey(RSA加密(猜测))


不过这里有个坑,即使固定了随机数,难以与本地做出验证,Rsa加密还是每次都随机

后面问了零点大佬,指出变化点(万分感谢大佬的帮助)

雀氏RSA的机制每次都会把这个this做出一定的改变来影响整个整体随机,于是我直接找了个Rsa的开源项目,照猫画虎的源码的this每次进行初始化,通过对比每次结果,后面大致看了看基本是些常规操作随机、位运算,猜测这个RSA是没有魔改的,Nice,后面通过原生加密也可以被私钥进行解密,算是过关了,虽然省不了多长扣代码的时间,但是总有收获所在!

后续得去了解rsa底层加密步骤才能好好玩耍。



//极验
var u = n.$_CAAz();
  var h = X.encrypt(ae.stringify(o), n.$_CABL());
  var p = w.$_EFO(h);
  var d = {
    "gt": r.gt,
    "challenge": r.challenge,
    "lang": o.lang,
    "pt": n.$_BGJB,
    "client_type": n.$_BHAv,
    "w": p + u
  }
//  b站
r(s.encrypt(o.data.hash + t)))

解决方案

思路:

通过上述逻辑,分析接口流程

  1. hash,public_key=token, challenge, gt = passport-login/captcha
  2. 携带上gt请求gettype.php
  3. 携带上gt、challenge请求ajax.php
  4. 图片data =携带上gt、challenge请求get.php
  5. data["pic"],c = data["c"],s = data["s"]执行点选请求url = ’https://static.geetest.com+["pic"]’
  6. validate, token, challenge=生成w、携带上gt、challenge请求ajax.php
  7. 携带上述hash、public_key生成password参数请求b站web/login的link


    直接放出最后login成功图!(后续实现个花光所有硬币的计划)

番外预告某音ab

思路是对每个vmp的循环插桩,即可判断是哪个vmp最终生成目标算法,避免日志过大,在位置9进行断住ab,分析位运算符日志(纯算不多讲,PS:我基本全参考了星云牛马这位博主的插桩log点)

成功图

预告:全参补环境检测图

参考链接:

[1] 某音ab纯算参考
[2] 极验3文字点选参考
[3] b站login极验用于魔改优化风控。

Next-Target

  1. 后期思路是讲补环境去通杀某音ab,xb,xhs全参等等,尽量避免用插桩分析还原算法去对抗jsvmp脏活。
  2. 阿里140
  3. 瑞数456vmp
  4. 主动调用Android-Wechat文本信息

最近想法

我开了个知识星球,把本期的成品已放到了里面,有需要的小伙伴可以自行去取,jd的参数,阿里bxet纯算、快手滑块,Pdd—Anti,ikuai,b站login之-极验3文字,某音ab等等,主要是某些大佬加我问成品,很多人都打着白嫖的手段去加我好友为目的,问完基本就以后没有任何的交集,这样的交好友雀氏没有任何意义。不如我直接开个星球,里面直接放我逆向的成品以及逆向的思路,这样大家各取所需,我也有点收益,意义更明确点,免得浪费大家的时间。星球如果你们遇到了什么问题的话,也可以直接提出来,我肯定以我最大的能力去回答,后续的话,随着知识星球的作品越来越多,涨价是必然的。至于一些没有特殊难点的站或app,我会直接把思路以及成品到星球里面,同时也欢迎各位大佬的技术合作,有技术,有想法的一起交流成长。



B站login-极验逆向的更多相关文章

  1. 破解b站极验验证码

    这就是极验验证码,通过拖动滑块移动拼图来验证.我们观察到点击滑块时拼图才会出现,所以我们可以在点击滑块之前截取图像,点击滑块再截取一次图像,将前后两次图像做比较就可以找到图片改动的位置.获得位置后,我 ...

  2. selenium处理极验滑动验证码

    要爬取一个网站遇到了极验的验证码,这周都在想着怎么破解这个,网上搜了好多知乎上看到有人问了这问题https://www.zhihu.com/question/28833985,我按照这思路去大概实现了 ...

  3. thinkphp整合系列之极验滑动验证码

    对于建站的筒子们来说:垃圾广告真是让人深恶痛绝:为了清净:搞个难以识别的验证码吧:又被用户各种吐槽:直到后来出现了极验这个滑动的验证码:这真是一个体验好安全高的方案:官网:http://www.gee ...

  4. GEETEST极验召集互联网大佬齐聚光谷,共同探讨交互安全问题

    全球互联网技术在飞速发展的同时,网络安全事件也随之频发.除了直接带来经济损失的网络恶意攻击之外,企业在多个方面也遭受着不同程度的网络恶意攻击,包括品牌形象.管理时间.企业竞争力.客户成交量.用户行为等 ...

  5. Django中使用极验Geetest滑动验证码

    一,环境部署 1.创建一个django测试项目 此处省略... 二,文档部署 1.下载安装python对应的SDK 使用命令从Github导入完整项目:git clone https://github ...

  6. vue_drf之实现极验滑动验证码

    一.需求 1,场景 我们在很多登录和注册场景里,为了避免某些恶意攻击程序,我们会添加一些验证码,也就是行为验证,让我们相信现在是一个人在交互,而不是一段爬虫程序.现在市面上用的比较多的,比较流行的是极 ...

  7. 极验3.0滑动拼图验证的使用--java

    [ 前言: 在登录其他网站的时候,看到有个滑动拼图的验证觉得挺好玩的,以前做一个图片验证的小demo,现在发现很多网站都开始流行滑动拼图的验证了,今天也想自己动手来弄一个. 废话不多说,开始撸起来! ...

  8. 极验验证使用-滑动&选字验证码

    准备 SDK下载 首先在极验官网下载好SDK,附上官网链接,点此可直接下载python版zip包. 模块安装 使用该SDK时发现它依赖两个模块,分别是geetest和requests. pip ins ...

  9. luffy之多条件登录与极验滑动验证码

    多条件登录 JWT扩展的登录视图,在收到用户名与密码时,也是调用Django的认证系统中提供的authenticate()来检查用户名与密码是否正确. 我们可以通过修改Django认证系统的认证后端( ...

  10. GeeTest 极验验证

    前台Html页面 <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> ...

随机推荐

  1. ST语言

    CODESYS平台的ST语言笔记 前言: 基于汇川plc软件,底层是CODESYS平台.这回ST语言正儿八经要用 所以要学,做笔记是为了梳理加深基础要点印象,顺便分享交流学习.codesys平台包括汇 ...

  2. 力扣12(java)-整数转罗马数字(中等)

    题目: 罗马数字包含以下七种字符:I, V, X, L, C, D, M 1 字符 数值 2 I 1 3 V 5 4 X 10 5 L 50 6 C 100 7 D 500 8 M 1000 例如, ...

  3. 实时化或成必然趋势?新一代 Serverless 实时计算引擎

    作者:高旸(吾与),阿里巴巴高级产品专家 本文由阿里巴巴高级产品专家高旸(吾与)分享,主要介绍新一代Serverless实时计算引擎的产品特性及核心功能. 一.实时计算 Flink 版 – 产品定位与 ...

  4. Cloudera Manager 术语和架构

    ​简介: 本文介绍了Cloudera Manager 的常见术语和架构 Cloudera Manager 术语 为了有效地使用Cloudera Manager,您应该首先了解其术语. 术语之间的关系如 ...

  5. dotnet 使用增量源代码生成技术的 Telescope 库导出程序集类型

    本文将告诉大家在 dotnet 里面使用免费完全开源的基于增量源代码生成技术的 Telescope 库,进行收集导出项目程序集里面指定类型.可以实现性能极高的指定类型收集,方便多模块对接入自己的业务框 ...

  6. 用Vue仿了一个类似抖音的App

    大家好,我是 Java陈序员. 今天,给大家介绍一个基于 Vue3 实现的高仿抖音开源项目. 关注微信公众号:[Java陈序员],获取开源项目分享.AI副业分享.超200本经典计算机电子书籍等. 项目 ...

  7. Python使用HTMLTestRunner运行所有用例并产生报告

    #coding:utf-8import unittestimport osimport sysimport HTMLTestRunnercase_path = os.path.join(os.path ...

  8. cuBlas API Launch Latency 耗时异常分析记录

    一.背景 最近在做 AI 编译器生成 Kernel 支持 Bert 模型训练调优工作,在分析 bert 的timeline中发现,在每个 step 的前两个 cinn_instruction_run ...

  9. CMake快速入门教程

    前言 Make工具因遵循不同的规范和标准,执行的Makefile的格式也是不同.主流的Make工具包括: GNU Make QT的qmake 微软的 MS nmake BSD的 pmake 每个平台都 ...

  10. 高性能远程桌面Splashtop 居家办公首选软件

    2020年,新冠疫情期间,各地提倡远程办公.居家办公.在家里怎么使用办公室的电脑?以Splashtop为代表的远程桌面控制软件也就被越来越多的人知晓和使用了. 什么是Splashtop远程桌面? Sp ...