某里227逆向分析

2024-09-08 05:12
文章标签 分析 逆向 227 某里

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

声明:
该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关。

本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!

前言

这次会简单的讲解阿里227版本滑块参数n的逆向分析流程以及简单的补环境,如果有疑问可以在评论区交流讨论,我看到会及时回复的,另外,有需要可联系我。

一.目标网站

aHR0cHM6Ly93ZS41MWpvYi5jb20=

在这里插入图片描述
如上图 我们要过这样的滑块验证码

在这里插入图片描述

滑过之后。nocaptcha/analyze.jsonp这个链接中的 n参数 以227!开头的。
我们需要把这个参数逆向出来。这个参数与环境和滑块运动轨迹有关。

二.参数分析

1.我们得找到是哪里生成的
那我们如何找到是哪里生成的呢?这里提供两种解决方案。

a.跟栈(说实话任何一个项目都可以通过这个方法 但是这种方法效率非常低)。
b.通过监控鼠标事件。

下面我是通过监控鼠标事件。寻找参数生成的位置。
在这里插入图片描述
如上图所示。勾选这两个参数。然后鼠标点击验证码开始滑动。
然后就开始进入堆栈了。
跳过第一个栈。到达下图位置
在这里插入图片描述
可以看到这个位置其实就是一些坐标轴的信息。比如x和y等等。
继续往下看。
在这里插入图片描述
可以看到这个地方是添加事件。根据不同的鼠标事件执行不同的方法。
我们可以挨个去看。这里因为时间原因。就不浪费时间了
进入 f, “mousemove”, s中的s方法。
在这里插入图片描述
在这里插入图片描述

到达m函数生成处
在这里插入图片描述
虽然这个值的确能生成227.但是我们不确定这个值是否为正确的。先不管。打上断点再说。

在这里插入图片描述
这个位置显而易见就是当时的那个params参数中的n。
在这里插入图片描述
这里已经找到生成的位置了。但具体还需要点进函数内部去看。
由于这是添加鼠标事件。是函数 并不是执行没办法进断点。

2.通过鼠标进栈
这个时候要进栈。需要把mousedown取消。
在这里插入图片描述
然后划过滑块 不放开。这个就能进入栈。

在这里插入图片描述
接着进入这个函数。这是个过程。要有耐心的一点点看。
后面就简单了 通过单步调试
在这里插入图片描述
到这个地方。可以了 这个地方就是最终生成的位置。

分析这个参数e:
在这里插入图片描述
可以看到 e就是这个值是定值 写死就行。
3.得到参数值n的方法
这里简单介绍两种把

a.扣代码。
b.补环境
这里采用补环境的方法。大概补个1000行左右就行了。
吐出来的环境比我的命都长。
补环境代理代码:

proxy = function(proxy_array) {for (var i = 0; i < proxy_array.length; i++) {handler = '{\n' +'    get: function(target, property, receiver) {\n' +'        console.log("方法:", "get  ", "对象:", ' +'"' + proxy_array[i] + '" ,' +'"  属性:", property, ' +'"  属性类型:", ' + 'typeof property, ' +// '"  属性值:", ' + 'target[property], ' +'"  属性值类型:", typeof target[property]);\n' +'        return target[property];\n' +'    },\n' +'    set: function(target, property, value, receiver) {\n' +'        console.log("方法:", "set  ", "对象:", ' +'"' + proxy_array[i] + '" ,' +'"  属性:", property, ' +'"  属性类型:", ' + 'typeof property, ' +// '"  属性值:", ' + 'target[property], ' +'"  属性值类型:", typeof target[property]);\n' +'        return Reflect.set(...arguments);\n' +'    }\n' +'}'eval('try{\n' + proxy_array[i] + ';\n'+ proxy_array[i] + '=new Proxy(' + proxy_array[i] + ', ' + handler + ')}catch (e) {\n' + proxy_array[i] + '={};\n'+ proxy_array[i] + '=new Proxy(' + proxy_array[i] + ', ' + handler + ')}')}
}proxy_array = ['window','document','location', 'navigator', 'history', 'screen','span', 'div',

这篇关于某里227逆向分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

Spring、Spring Boot、Spring Cloud 的区别与联系分析

《Spring、SpringBoot、SpringCloud的区别与联系分析》Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开... 目录1. Spring 框架2. Spring Boot3. Spring Cloud总结1. Sprin

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock