自己写的逆向案例三——某蔬菜小说登录接口逆向

2024-04-18 21:44

本文主要是介绍自己写的逆向案例三——某蔬菜小说登录接口逆向,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

网址:aHR0cHM6Ly9mYW5xaWVub3ZlbC5jb20v

登录接口抓包,发现电话号码和密码都进行了加密。开始跟栈。

在相应位置打上断点,点击登录,其中在右侧发现已经进行了加密。

现在判断异步栈有没有是加密位置。第一个异步栈,已经是经过加密的了。现在看第二个异步栈。

点击进入第二个异步栈f.request

又看到了最熟悉的位置,打上断点,进入f函数的第一个。看参数又没有加密。 

在控制台打印f

进入第一个函数,并打上断点,发现参数已经经过了加密,因此直接跳过异步栈,往前看。

进入疑似栈,并在疑似位置打上断点,找到了未加密的参数。电话和密码。

逐步点击,跳过下一步函数调用,在控制台打印,发现r就是加密后的数据,加密位置,k(d(,打印d,发现是一个内置函数assign。

现在进入k函数,并打上断点。 发现k函数接收两个参数e是电话号码和密码,和t,分别复制e和t

再在o处打断点,执行到o,发现最后返回的o就是加密后的数据。

复制整个k函数到pycharm中。

运行发现d未定义,在控制台打印。 发现。

在 JavaScript 中,Object 是一个全局对象,不需要额外引入。你可以直接使用 Object 对象,而无需使用 require 来导入它。

如果你想在 Node.js 环境中使用某个特定的 JavaScript 库或模块,你需要使用 require 来导入它。但对于 Object 这样的内置对象,不需要额外导入,你可以直接在代码中使用它。

改写

Object.assign
# 将d替换成上述

结果发现C函数未定义

直接找到其位置并复制,其实就是k的上一个函数

复制后运行,得到最后的结果。 

 完整代码:

t = ["username","mobile","email","account","password",
]
e = {"mobile": "18720180853","password": "123456"
}
var O, E, C = function(e) {var t, n = [];if (void 0 === e)return "";t = function(e) {for (var t, n = e.toString(), r = [], i = 0; i < n.length; i++)0 <= (t = n.charCodeAt(i)) && t <= 127 ? r.push(t) : 128 <= t && t <= 2047 ? (r.push(192 | 31 & t >> 6),r.push(128 | 63 & t)) : (2048 <= t && t <= 55295 || 57344 <= t && t <= 65535) && (r.push(224 | 15 & t >> 12),r.push(128 | 63 & t >> 6),r.push(128 | 63 & t));for (var o = 0; o < r.length; o++)r[o] &= 255;return r}(e);for (var r = 0, i = t.length; r < i; ++r)n.push((5 ^ t[r]).toString(16));return n.join("")
};
k = function(e, t) {var n, r = 0, i = 0;if ("object" != typeof e)return e;if (!t || t.length <= 0)return e;for (var o = Object.assign({mix_mode: r}, e), a = 0, s = t.length; a < s; ++a)void 0 !== (n = o[t[a]]) && (r |= 1,i |= 1,o[t[a]] = C(n));return o.mix_mode = r,o.fixed_mix_mode = i,o
};

这篇关于自己写的逆向案例三——某蔬菜小说登录接口逆向的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接

springboot security验证码的登录实例

《springbootsecurity验证码的登录实例》:本文主要介绍springbootsecurity验证码的登录实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录前言代码示例引入依赖定义验证码生成器定义获取验证码及认证接口测试获取验证码登录总结前言在spring

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固 通俗易懂版)

《MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固通俗易懂版)》本文主要讲解了MySQL中的多表查询,包括子查询、笛卡尔积、自连接、多表查询的实现方法以及多列子查询等,通过实际例子和操... 目录复合查询1. 回顾查询基本操作group by 分组having1. 显示部门号为10的部门名,员

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音

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

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

Java8需要知道的4个函数式接口简单教程

《Java8需要知道的4个函数式接口简单教程》:本文主要介绍Java8中引入的函数式接口,包括Consumer、Supplier、Predicate和Function,以及它们的用法和特点,文中... 目录什么是函数是接口?Consumer接口定义核心特点注意事项常见用法1.基本用法2.结合andThen链

Oracle登录时忘记用户名或密码该如何解决

《Oracle登录时忘记用户名或密码该如何解决》:本文主要介绍如何在Oracle12c中忘记用户名和密码时找回或重置用户账户信息,文中通过代码介绍的非常详细,对同样遇到这个问题的同学具有一定的参... 目录一、忘记账户:二、忘记密码:三、详细情况情况 1:1.1. 登录到数据库1.2. 查看当前用户信息1.