当前位置: 首页 > news >正文

FastMoss 国际电商Tiktok数据分析 JS 逆向 | MD5加密

1.目标

目标网址:https://www.fastmoss.com/zh/e-commerce/saleslist

在这里插入图片描述
在这里插入图片描述
切换周榜出现目标请求
在这里插入图片描述
只有请求头fm-sign签名加密

2.逆向分析

直接搜fm-sign
在这里插入图片描述

在这里插入图片描述
可以看到 i["fm-sign"] = A
在这里插入图片描述
进入encryptParams方法
在这里插入图片描述
里面有个S()方法加密,是MD5加密

3.代码示例

js代码示例

const crypto = require('crypto')function MD5Encrypt(e) {return crypto.createHash("md5").update(e.toString()).digest("hex")
}function encryptParams(e) {this.salt = "LAA6edGHBkcc3eTiOIRfg89bu9ODA6PB"let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "", o = Object.keys(e).sort(), n = "";o.forEach(t => {n += t + e[t] + this.salt});let r = MD5Encrypt(n + t), a = "", i = 0, s = r.length - 1;for (; i < r.length && !(i >= s); i++,s--)a += (parseInt(r[i], 16) ^ parseInt(r[s], 16)).toString(16);return a + r.substring(i)
}let S =   {_time: Math.floor(Date.now() / 1e3),cnonce: Math.floor(1e7 + 9e7 * Math.random())
}, r = {"time": 1748321467,"system": "windows","platform": 1,"id": 206,"type": 1,"ext": {"uri": "https://www.fastmoss.com/zh/e-commerce/newProducts","_src": null}
} ,d = JSON.stringify(r),A = encryptParams({...S}, d);
console.log(A)

python代码示例

import hashlib
import json
import random
import time# MD5 加密
def md5_encrypt(data):return hashlib.md5(str(data).encode('utf-8')).hexdigest()# 加密函数 encryptParams
def encrypt_params(e, t=""):salt = "LAA6edGHBkcc3eTiOIRfg89bu9ODA6PB"# 排序后的 key 列表keys = sorted(e.keys())n = ""for key in keys:n += f"{key}{e[key]}{salt}"r = md5_encrypt(n + t)a = ""i = 0s = len(r) - 1while i < len(r) and i < s:# 将十六进制字符转为整数,异或后再转回十六进制char_i = r[i]char_s = r[s]xor_result = int(char_i, 16) ^ int(char_s, 16)a += format(xor_result, 'x')  # 转为十六进制字符i += 1s -= 1a += r[i:]return aS = {'_time': int(time.time()),'cnonce': random.randint(1e7, 1e8)
}r = {"time": 1748321467,"system": "windows","platform": 1,"id": 206,"type": 1,"ext": {"uri": "https://www.fastmoss.com/zh/e-commerce/newProducts","_src": None}
}d = json.dumps(r, separators=(',', ':'))A = encrypt_params(S, d)
print(A)

请求不要sign也是可以的

http://www.xdnf.cn/news/669763.html

相关文章:

  • 安全监测预警系统的核心价值
  • Jmeter一些元件使用的详细记录
  • VR 赋能病毒分离鉴定:开启微观探索新视界
  • 微软开源bitnet b1.58大模型,应用效果测评(问答、知识、数学、逻辑、分析)
  • 数据分析实战1(Excel制作报表)
  • 【NLP基础知识系列课程-Tokenizer的前世今生第五课】从静态到可学:Tokenizer 的自适应演化之路
  • LVS负载均衡群集
  • 语音识别算法的性能要求一般是多少
  • Day128 | 灵神 | 二叉树 | 反转二叉树的奇数层
  • 软件同步机制-Peterson解决方案 简单讲解
  • 攻防世界-你猜猜
  • js判断当前设备是否为移动端
  • camera_venc_thread线程获取高分辨率编码码流
  • Vue组件化
  • Rust 学习笔记:关于闭包的练习题
  • Flink系列文章列表
  • 分布式系统中的网络编程
  • wordpress迁移到Hostinger
  • 爬虫入门指南-某专利网站的专利数据查询并存储
  • YOLOv2 深度解析:目标检测领域的进阶之路
  • 【文献阅读】EndoChat: Grounded Multimodal Large Language Model for Endoscopic Surgery
  • 【HW系列】—目录扫描、口令爆破、远程RCE流量特征
  • 攻防世界-ics-07
  • 【Web应用】基础篇04-功能详解-权限控制(创建菜单--分配角色--创建用户)
  • 使用 scikit-learn 库对乌克兰冲突事件数据集进行多维度分类分析
  • ABP VNext + Apache Flink 实时流计算:打造高可用“交易风控”系统
  • 【深度学习】9. CNN性能提升-轻量化模型专辑:SqueezeNet / MobileNet / ShuffleNet / EfficientNet
  • 汽车电子/电气(E/E)架构将朝着区域(分区)式架构方向发展
  • Filebeat es 同步服务器日志到es
  • C++ STL 容器:List 深度解析与实践指南