js逆向 - 某电商网站x-api-eid-token参数生成

本文仅供学习交流,只提供关键思路不会给出完整代码,严禁用于非法用途,若有侵权请联系我删除!

目标网站:aHR0cHM6Ly93d3cuamQuY29tLw==

目标接口:aHR0cHM6Ly9naWEuamQuY29tL2pzVGsuZG8=

接上一篇 JD - h5st解析_小馒头yy的博客-CSDN博客 请求url中的x-api-eid-token参数,经过我调试分析,这个值是由 jsTk.do 接口返回的,我们今天来生成下该 token

一、抓包分析

1、打开开发者工具,清除浏览器缓存

2、发现该接口请求 url中存在加密参数 a, 请求体中存在加密参数 b

二、XHR断点调试

1、打下XHR断点。清除缓存后刷新网页,成功断下。 

2、跟栈调试,定位到关键位置,请求url中的加密参数是 d, 请求体中的加密参数是n

3、生成请求url中的加密参数

关键代码: var d = jdtRiskEncryptUtil.TDEncrypt(g), 

跟进 TDEncrypt方法,依次补全collectConfig,getEncryptedCollectInfo后直接运行得到加密值

4、生成请求体中的加密参数 

往上找找 n的赋值,定位到关键代码:var n = (new TDEnvCollector(collectConfig.getEnvExcludeOptions(_riskFpMode))).getEncryptedCollectInfo();

跟进去,将整个文件代码复制出来,在代码中补全所有的环境,执行以下代码得到解。

var n = (new TDEnvCollector(collectConfig.getEnvExcludeOptions(_riskFpMode))).getEncryptedCollectInfo();
console.log("n:" + n)

5、浏览器中运行得到该加密值

我们在代码中补环境是繁琐的,整个我足足搞了两个小时(还是太菜),今天来整一种简单的写法:在浏览器中加载抠出来的 js文件,再通过RPC获取值

编写html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

   <script type="text/javascript" src="jstk_b.js"></script>

</body>
</html>

在浏览器中打开,再执行上面的关键代码,可通过RPC技术获取到该加密值

用生成的加密值成功发送请求。 收工! 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值