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

相关文章

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串