京东试用h5st参数
2022-8-1 00:1:44 Author: web安全工具库(查看原文) 阅读量:332 收藏

通过抓包找到jd试用的网址:aHR0cHM6Ly9wcm9kZXYubS5qZC5jb20vbWFsbC9hY3RpdmUvRzdzUTkydldTQnNUSHprNGU5NTNxVUdXUUo0L2luZGV4Lmh0bWw


F12开发者模式,搜索 h5st,最后找到main.6d****82.js文件


分别给 c.h5st = y 和 w.h5st = y 附近多打几个断点,然后滑动页面加载下一页


可以看出y就是h5st,而 y = this[o(81, 0, 25) + t(0, 920, 0, 1148)](f, s, g);
挨个分析
this中包含了 _appId 和 _fingerprint 和_token_timestamp_version等信息,都是h5st中用到的
[在电脑浏览器登录京东试用的时候,cookie中sfstoken就是token]

8个参数,现在就剩下5和8了,再往上看,找到了调用参数(f, s, g)
f为第五个参数,g为第八个

继续往上看, g=v[t(0, 1269, 0, 1201)][t(0, 1121, 0, 1110)]()

可以得出参数8的加密方式、key和iv等信息


而iv和key又可由hex解码解出

iv:0102030405060708

key:wm0[email protected]w_s#ll1flo(

然后我们解出参数8的明文


协议头和fp等参数组成,所以判断参数8几乎为固定的

 复制代码 隐藏代码
{
  "sua": "Linux; Android 11; Pixel 5",
  "pp": {},
  "fp": "4975599160384842"}

接下来继续往上翻,看参数5 f = Jd.HmacSHA256(l, n)[o(93, 0, -78)](Jd[t(0, 812, 0, 820)][t(0, 1335, 0, 1533)])

可以看出f是又HmacSHA256得来的,我们断点Jd.HmacSHA256,F8继续执行脚本,并随便点一个类目

可以看出t是加密文本,n(token)是key,使用HMAC SHA 256加密

{我们翻堆栈能看到一个test}

我们继续执行脚本,发现有又执行了一次Jd.HmacSHA256,此次得到的结果就是第五个参数key就是刚才HMAC SHA 256加密的结果,那么t(加密文本)中有一个boby是64位的未知数,我们看看boby是如何来的


我们搜 body: ,发现一个可疑的json,和刚才的t参数拼接后是一样的

 复制代码 隐藏代码
c = {
    functionId: t.functionId,
    clientVersion: i,
    appid: s,
    client: u,
    body: Br.a.sha256_digest(JSON.stringify(a)).toString()
},


我们下断点,F8继续执行脚本,并随便点一个类目

能看出body的密文其实的post的时候的body的参数进行了SHA256加密


functionid等,是根据api的functionid变化的

该内容转载自网络,更多内容请点击“阅读原文”


文章来源: http://mp.weixin.qq.com/s?__biz=MzI4MDQ5MjY1Mg==&mid=2247502759&idx=2&sn=9619a992c1a9f0acc22b934bc6ccd668&chksm=ebb524a4dcc2adb2dfac3a286d81649c79a2eb1b0e2261f16cdbf2e84036082b315fa73eab84#rd
如有侵权请联系:admin#unsafe.sh