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 = 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 = 0 s = len(r) - 1 while i请求不要sign也是可以的
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。