某验2代609版本JS逆向

2024-05-06 00:28
文章标签 js 版本 逆向 609 某验

本文主要是介绍某验2代609版本JS逆向,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路

现在用2代的网站应该很少了吧,2代的js基本都是geetest.6.0.9.js, 所以解法应该是通用的,至于网站我就不放出来了,下面来看具体步骤

传的加密参数基本还是一样,需要破解w参数
在这里插入图片描述
跟栈进去,发现在这个位置,由r7z和H7z组成
在这里插入图片描述而这两个参数由这些加密函数得来

var H7z = V7z[M9r.C8z(92)]()
, q7z = n0B[M9r.R8z(699)](h7B[M9r.C8z(105)](Y7z), V7z[M9r.R8z(818)]())
, r7z = p7B[M9r.R8z(260)](q7z)

我们逐个分析,先看H7z,还是跟栈进去

在这里插入图片描述
发现是这个地方生成而来,后面传的是一串随机的16位字符串,而这个正是RSA加密,RSA加密初始话的地方在如下位置
在这里插入图片描述
最后一句代码,是设置publickey,总体来讲,这段加密可以自己调用加密,也可以扣或者导出来,我使用导出的方法,最后生成一段256位长度的字符串和网页生成的长度相同
在这里插入图片描述
返回去接着看q7z 和r7z 两个参数,分别调用了两个加密函数,这两个加密方法同样也可以导出,使用的AES加密,这里就不过多赘述了,先看q7z,传入了两个参数,如下
在这里插入图片描述
第一个是加密参数,第二个是刚刚随机生成的16位字符串,而这个字符串需要和之前RSA加密的字符串相同,否则会报错,接下来看下加密参数的位置
在这里插入图片描述
在上图位置,可以大致看到,这里暂时没有rp参数,我们先看其他参数,userresponse由加密的距离和challenge加密得到,passtime是使用的时间,这个时间由轨迹中得到,imgload可以写死,是图片加载的时间
在这里插入图片描述
我们接下来跟到aa的加密生成位置,在如下的地方
在这里插入图片描述
并且,这里还有二次加密的地方
在这里插入图片描述
再往里跟栈,发现就是由加密轨迹加密生成的
在这里插入图片描述
接下来还剩下个rp参数,在如下位置
在这里插入图片描述
由gt加上challenge前32位加上passtime,然后经过md5加密生成,至此所有参数都找全了

由于扣代码部分讲解起来略显复杂,并且每个人思路不一样,这里也不一一讲了,讲所有代码扣下来补齐后,组成接口调用,最后可以拿到成功的结果,如下
在这里插入图片描述
如有其他问题请私信我,谢谢

这篇关于某验2代609版本JS逆向的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/963055

相关文章

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p

Redis指南及6.2.x版本安装过程

《Redis指南及6.2.x版本安装过程》Redis是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSIC语言编写、支持网络、... 目录概述Redis特点Redis应用场景缓存缓存分布式会话分布式锁社交网络最新列表Redis各版本介绍旧

IIS 7.0 及更高版本中的 FTP 状态代码

《IIS7.0及更高版本中的FTP状态代码》本文介绍IIS7.0中的FTP状态代码,方便大家在使用iis中发现ftp的问题... 简介尝试使用 FTP 访问运行 Internet Information Services (IIS) 7.0 或更高版本的服务器上的内容时,IIS 将返回指示响应状态的数字代

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1

MyBatisX逆向工程的实现示例

《MyBatisX逆向工程的实现示例》本文主要介绍了MyBatisX逆向工程的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录逆向工程准备好数据库、表安装MyBATisX插件项目连接数据库引入依赖pom.XML生成实体类、

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

VSCode中配置node.js的实现示例

《VSCode中配置node.js的实现示例》本文主要介绍了VSCode中配置node.js的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一.node.js下载安装教程二.配置npm三.配置环境变量四.VSCode配置五.心得一.no

查看MySQL数据库版本的四种方法

《查看MySQL数据库版本的四种方法》查看MySQL数据库的版本信息可以通过多种方法实现,包括使用命令行工具、SQL查询语句和图形化管理工具等,以下是详细的步骤和示例代码,需要的朋友可以参考下... 目录方法一:使用命令行工具1. 使用 mysql 命令示例:方法二:使用 mysqladmin 命令示例:方