某东-绑卡

声明
本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!wx a15018601872              
本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!q 2766958292

前言

rs我是真不会。菜狗一个狗,真别太看得起我。我网盘一堆课程都没时间看,有空在研究一下rs。

1.逆向过程

登录上去之后会触发滑块。那个也是很重要的。我把它分成两个demo写了,但是基本一样。就是session获取那里不一样。大致流程是先拿到sessionId,然后获取st,请求背景图,拿轨迹去验证。拿到code去绑定礼品卡。

2.部分伪代码

具体流程和m端一样我就不细说了。

key="###"
iv="###"
function encrypt(message, key, iv) {// 将密钥和初始化向量转换为 CryptoJS 格式var keyHex = CryptoJS.enc.Utf8.parse(key);var ivHex = CryptoJS.enc.Utf8.parse(iv);// 使用 CryptoJS 的 AES 加密方法var encrypted = CryptoJS.AES.encrypt(message, keyHex, {iv: ivHex,mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7});// 将加密后的字符串转换为 Base64 并进行 URL 安全的替换var encryptedBase64 = encrypted.ciphertext.toString(CryptoJS.enc.Base64);var encryptedUrlSafe = encryptedBase64.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');return encryptedUrlSafe;
}
function callback(error, response, body) {if (!error && response.statusCode == 200) {// 拿到sessionsessionId=JSON.parse(body)['data']console.log(sessionId)//stt={}
_yt(t).then((_e1) => {_mt(t,e,n).then(result=>{console.log(result)st=result['st']vt=result['vt']axios.get('http://127.0.0.1:8080/verify', {params: {st: st,vt: vt,"sessionId":sessionId}}).then(response => {console.log(response.data);
})
.catch(error => {// 处理错误console.error(error);
});}).catch(st=>{console.log(st)})}).catch(error => {console.error('请求失败:', error);});}).catch((error)=>{console.log(error)})}).catch((error) => {console.log(error)})}
}
function saveBase64Image(base64String, fileName) {// 从 Base64 字符串中分离出数据类型和实际数据const data = base64String.split(';base64,').pop();// 将 Base64 数据转换为 Bufferconst buffer = Buffer.from(data, 'base64');// 指定保存文件的路径'./京东/'+fileNameconst filePath = path.join('./京东/', fileName);// 将 Buffer 写入文件fs.writeFileSync(filePath, buffer, { flag: 'w' });
}
reqBody={}
params = {appid: "risk_h5",functionId: "createSid",body: JSON.stringify(reqBody)};
param = ''
if (params && Object.keys(params).length) {var param = ""; // 初始化param变量for (var key in params) {param += "".concat(key, "=").concat(params[key], "&");}// 移除最后一个多余的'&'if (param.length > 0) {param = param.substring(0, param.length - 1);}
}
var headers ={}
console.log(param)
dataString = param
// 这是普通滑块
// options = {
//     url: '#####,
//     method: 'POST',
//     headers: headers,
//     body: dataString
// };
// // 这是启动异步方法
// request(options, callback)
// 这是e卡滑块
var options = {url: '拿sessionId',method: 'POST',headers: headers
};
request(options, callback);

3.结果

没有e卡测试不了,不过全部参数正确会返回卡密不存在。参数错误会有其他提示。

 

4.总结
1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/706394.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenAI王炸更新GPT-4o,具有极强的文本、图片、视频、语音混合理解能力

OpenAI刚刚发布了GPT-4o,这是一种新的人工智能模式,集合了文本、图片、视频、语音的全能模型。能够实时响应用户的需求,并通过语音来实时回答你,你可以随时打断它。还具有视觉能力,能识别视觉物体并根据视觉作出快速的…

鸿蒙应用开发之调用C++开发代码库3

接着下来,我们仔细分析C++代码的实现,要理解怎么样把ArkTS类型转换为C++类型,并且返回参数值时,怎么从C++的类型转换为ArkTS类型。 要想在ArkTS调用C++的代码,需要把上面的编译器信息打包到应用程序HAP里,当运行的时候,就可以找到加载的对应的声明信息。 我们从JS调用框…

并发-sleep更优雅的实现方案:TimeUnit.枚举常量.sleep()

首先给出结论:线程使用中的暂停,建议优先使用TimeUnit类中的sleep()但需要注意传入时间小于0的异常情况TimeUnit是java.util.concurrent包下的一个类名主要功能是暂停线程的操作拥有与Thread.sleep()一样的功能都是暂停线程,但TimeUnit提供了…

C++进阶之路:何为默认构造函数与析构函数(类与对象_中篇)

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

3D数字化技术如何改变汽车行业?

近年来,新能源汽车行业加速发展,新车型密集发布,汽车保有量和车龄的增加,也同时点燃了汽车后市场的增长引擎。对于车企而言,如何全方面优化汽车从研发、生产、售后到营销的各个环节,以便适应快速变化的市场…

Qwen学习笔记4:Qwen 7B模型调用天气API实现天气的即时查询

前言 在学习Qwen模型的函数调用功能后,进一步尝试利用本地的Qwen模型访问OpenWeather API来获取实时的天气情况。 参考代码来源于视频教程: 简单粗暴,轻松配置Qwen模型查询实时数据功能_哔哩哔哩_bilibili 说明 该代码运行前&#xff0c…

Kibana使用

一、什么是Kibana   Kibana 是一个开源的分析和可视化平台,Kibana 提供搜索、查看和与存储在 Elasticsearch 索引中的数据进行交互的功能。开发者或运维人员可以轻松地执行高级数据分析,并在各种图表、表格和地图中可视化数据。 Kibana使用&#xff1a…

JVM运行时内存:虚拟机栈

文章目录 1. 概述2. 栈针3. 栈针内部结构3.1 局部变量表3.2 操作数栈3.3 动态链接3.4 方法返回地址3.5 一些附加信息 运行时内存整体结构如下图所示: 1. 概述 如何理解栈管运行,堆管存储? 角度一:GC;OOM角度二:栈、堆执行效率角…

pdfMake,xlsx-js-style,elementTable表格导出大量数据的pdf和xslx表格

使用渲染dom传递给xlsx或将dom转canvas在传给jspdf数据量大都会造成页面负载过大 所以导pdf和xlsx都使用数据传递给pdfMake,xlsx-js-style,pdf涉及分页与合并单元格 一.pdf npm并引入pdfMake和其字体包(记录时使用版本0.2.10 import pdfMake from &qu…

六西格玛绿带培训:解锁质量工程师的职场新篇章

在质量管理这条道路上,我们或许都曾有过这样的疑问:为何付出了同样的努力,却未能获得预期的回报?当我们看到身边的同行们逐渐步入高薪的行列,而自己却似乎陷入了职业的泥沼,这种对比无疑令人倍感焦虑。然而…

【SRC实战】退款导致零元购支付漏洞

挖个洞先 https://mp.weixin.qq.com/s/3k3OCC5mwI5t9ILNt6Q8bw “ 以下漏洞均为实验靶场,如有雷同,纯属巧合 ” 01 — 漏洞证明 1、购买年卡会员 2、订单处查看已支付 3、申请退款 4、会员仍然有效 5、使用另一个账号重复支付退款操作&#…

「AIGC算法」近邻算法原理详解

本文主要介绍近邻算法原理及实践demo。 一、原理 K近邻算法(K-Nearest Neighbors,简称KNN)是一种基于距离的分类算法,其核心思想是距离越近的样本点,其类别越有可能相似。以下是KNN算法的原理详解: 1. 算…