某验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

相关文章

python版本切换工具pyenv的安装及用法

《python版本切换工具pyenv的安装及用法》Pyenv是管理Python版本的最佳工具之一,特别适合开发者和需要切换多个Python版本的用户,:本文主要介绍python版本切换工具pyen... 目录Pyenv 是什么?安装 Pyenv(MACOS)使用 Homebrew:配置 shell(zsh

Python包管理工具uv下载python版本慢问题解决办法

《Python包管理工具uv下载python版本慢问题解决办法》uv是一个非常快的Python包和项目管理器,用Rust编写,使用热缓存安装Trio的依赖项的速度对比,:本文主要介绍Python包... 目录发现问题对于 MACOS / linux 用户 (zsh/bash):对于 Windows 用户:总

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

在Node.js中使用.env文件管理环境变量的全过程

《在Node.js中使用.env文件管理环境变量的全过程》Node.js应用程序通常依赖于环境变量来管理敏感信息或配置设置,.env文件已经成为一种流行的本地管理这些变量的方法,本文将探讨.env文件... 目录引言为什么使php用 .env 文件 ?如何在 Node.js 中使用 .env 文件最佳实践引

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默