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

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

相关文章

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

Java后端接口中提取请求头中的Cookie和Token的方法

《Java后端接口中提取请求头中的Cookie和Token的方法》在现代Web开发中,HTTP请求头(Header)是客户端与服务器之间传递信息的重要方式之一,本文将详细介绍如何在Java后端(以Sp... 目录引言1. 背景1.1 什么是 HTTP 请求头?1.2 为什么需要提取请求头?2. 使用 Spr

MySQL不使用子查询的原因及优化案例

《MySQL不使用子查询的原因及优化案例》对于mysql,不推荐使用子查询,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,本文给大家... 目录不推荐使用子查询和JOIN的原因解决方案优化案例案例1:查询所有有库存的商品信息案例2:使用EX

python实现自动登录12306自动抢票功能

《python实现自动登录12306自动抢票功能》随着互联网技术的发展,越来越多的人选择通过网络平台购票,特别是在中国,12306作为官方火车票预订平台,承担了巨大的访问量,对于热门线路或者节假日出行... 目录一、遇到的问题?二、改进三、进阶–展望总结一、遇到的问题?1.url-正确的表头:就是首先ur

Security OAuth2 单点登录流程

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在