【JavaScript 逆向】数美滑块逆向分析

news/2024/12/29 20:49:06/

声明

本文章中所有内容仅供学习交流,相关链接做了脱敏处理,若有侵权,请联系我立即删除!

案例目标

验证码:aHR0cHM6Ly93d3cuaXNodW1laS5jb20vbmV3L3Byb2R1Y3QvdHcvY29kZQ==

以上均做了脱敏处理,Base64 编码及解码方式:

import base64
# 编码
# result = base64.b64encode('待编码字符串'.encode('utf-8'))
# 解码
result = base64.b64decode('待解码字符串'.encode('utf-8'))
print(result)

案例分析

抓包

register 接口获取图片链接,请求参数中的 captchaUuid、organization 是动态变化的,需要扣出来:

响应返回滑块和背景图片的 url、rid 等参数的值:

滑动滑块后,抓包到 fverify 接口,请求参数中红框框出来的经过魔改的 DES 加密得到的,变量名即 key 值每周更新,需要通过 AST 匹配出来,rid 是 register 接口返回的:

通过riskLevel 的值即位 PASS,未通过则为 REJECT:

逆向分析

从 fverify 中跟栈进去:

向上跟栈到 _0x37a3a7 中,可以看到,此时那些加密参数的值已经生成了:

接着向上跟栈,np、id、zp、pf 为定值,加密方法皆为 this['getEncryptContent']:

跟进去,case 1 为检测点,如果格式化或者用 AST 解混淆后替换了 JS 则会被赋值为 1679801607548.209ishumei.com:

case 8 为 DES 加密,不是标准的,需要将算法扣出来,case 7 为 base64加密,也就是 DES 加密后再经过 base64 加密得到的结果:

其他的参数加密方式也都一样,传的第二个参数为 key 值,变量名即 key 值每周变化:

ru 为缺口距离,图片存在缩放,ep 为轨迹,ug 为滑动时间,其他的就是图片比例、language 等等:

captchaUuid:

结果验证


http://www.ppmy.cn/news/35156.html

相关文章

Rt-thread入门第一章 全局理解(个人理解)

这里是阅读文档的一些个人总结,因为是个人总结,所以肯定会有偏差 线程是什么呢? 理解为独立的,死循环的,函数个体 操作系统意味着线程切换,线程切换需要做些什么? 需要保存当前寄存器的值&a…

论文解读:PP-LiteSeg: A Superior Real-Time Semantic Segmentation Model

发表时间:2022 论文地址:https://arxiv.org/abs/2204.02681 项目地址:https://github.com/PaddlePaddle/PaddleSeg PP-LiteSeg,一个新的轻量级实时语义分割任务模型,在分割精度和推理速度之间实现了一种最先进的权衡…

(算法基础)朴素版的Dijkstra算法

适用情景在最短路问题当中的单源最短路(一号点到其他所有点之间的距离)的只有正权边的情况。时间复杂度O(N^2)算法解释(朴素版的Dijkstra)首先是关于这个图的存储,图的话主要是分为稠密图与稀疏图。稠密图就是说n的平方与m是一个量级的&#…

C++分析以下关于指针的操作有什么问题

代码一:按值传递/按引用传递 按值传递是指,在函数调用时,将参数的值复制一份传递给函数,函数中对参数值的修改不会影响到原始值 对于指针类型的参数,在按值传递的情况下,传递给函数的是指针变量的值(即指针变量所存储的地址),而不是指针所指向的内存地址。因此,当在…

一文看懂数据仓库

数据仓库数据仓库的概念数据仓库的主要特征数据仓库的分层数据仓库的分层介绍原始数据层:ODS(Operational Data Store)数据仓库层:DW(Data Warehouse)数据明细层:DWD(Data Warehouse…

进阶C语言——字符函数和字符串函数【详解】(二)

文章目录1. strtok2. strerror3. memcpy4. memmove5. memcmp6. memset1. strtok sep参数是个字符串,定义了用作分隔符的字符集合第一个参数指定一个字符串,它包含了0个或者多个由sep字符串中一个或者多个分隔符分割的标记strtok函数找到str中的下一个标记…

算法训练:贪心与回溯

目录 1.手套(贪心算法) 2.字符串通配符(回溯算法) 1.手套 题目描述: 在地下室里放着n种颜色的手套,手套分左右手,但是每种颜色的左右手手套个数不一定相同。A先生现在要出门,所以…

【redis】redis缓存更新策略

目录一、缓存更新策略二、主动更新策略三、Cache Aside Pattern3.1 删除缓存还是更新缓存?3.2 如何保证缓存与数据库的操作同时成功或失败?3.3 先操作缓存还是先操作数据库3.3.1 先删缓存再删库3.3.2 先删库再删缓存一、缓存更新策略 1.内存淘汰:不用自…