2023年最新京东web端h5st3.0/3.1/4.1/4.2算法分析

文章目录

  • 前言
  • 一、初步分析
  • 二、详细分析
  • 总结


h5st4.2分析:https://blog.csdn.net/danran550/article/details/133807065

前言

最近无聊研究某东网页发现多了个h5st加密参数,在这里分析一下逆向步骤,跟大家共同学习。
2023年最新京东web端h5st3.0/3.1/4.1/4.2算法分析_第1张图片

一、初步分析

完整的h5st参数如下:

20230219224055580;5811449597265311;e74d9;tk03wcfbd1cf518nqRluIyVqoO3ZcU5_YjoyK6HaF5Uvu91Pw_n3CLkPNYwLCNnmOYXdUlaamGl4YPbvD44UlrYdKzJ1;e9f18b65b5dba7c539b5fb5763028acc4998d813777609e98d2edfd16fea5d6;3.1;1676817655590;7414c4e56278580a133b60b72a30beb2764d2e61c57578e838e06644d1bfb42fb163d6a52f55d09ff54fee9e3891067180b7c78b36624b9de20052173f4c8c1f943d87ef61426c8b78481ea08de41b170af01ec0b144dd000ce230c23576589db168527c175bfe295e0d58f1ff946207c73e8470ce581ada47c27a437d5a8938998888b05d80aa484ef0965a4f0

参数根据分号可以分成8段数据,在这里给大家简单讲解一下每段数据含义,后面会分析

第?段 数据含义 获取
1 yyyyMMddhhmmss 格式的时间 可以自行生成
2 fp 浏览器指纹 参考文章生成
3 function的id 接口处获取
4 tk 接口处获取
5 appid+body+tk+rd+function等进行一次加密的返回数据
6 加密算法的版本 目前常用3.0和3.1,4.1
7 13位时间戳 可以随机生成
8 浏览器ua+pin+fp 的加密 如果fp不变可写死

二、详细分析

就拿收藏商品接口来说吧
2023年最新京东web端h5st3.0/3.1/4.1/4.2算法分析_第2张图片
接口上基本包含了 functionid,appid,body,加密版本,等几个重要参数
2023年最新京东web端h5st3.0/3.1/4.1/4.2算法分析_第3张图片
至于tk,rd这些参数就在这个接口,至于接口里面这段代码就关乎到了第五段加密,根据我分析其实就是tk+fp+ts+ai+rd 一起然后sha256加密一下返回的数据就是第五段内容HmacSHA256 加密的key

function test(tk,fp,ts,ai,algo)
{
	var rd='4EKPameSb';
	var str=`${tk}${fp}${ts}${ai}${rd}`;
	return algo.SHA512(str)
}

然后第八段我分析到一个Aes加密,断点到关键位置发现了iv和key
控制台输出看看
2023年最新京东web端h5st3.0/3.1/4.1/4.2算法分析_第4张图片
这个肯定不太对的需要HEX转一下
得出结果
key:wm0!@w-s#ll1flo(
iv:0102030405060708

2023年最新京东web端h5st3.0/3.1/4.1/4.2算法分析_第5张图片
用js解密试了一下,可以解密出第8段加密,搞定收工。


总结

h5st加密,其实比较关键的也就第5段和第8段,其他基本都是明文,不难解决,最后尝试了一下算法用易语言还原出来,结果完全可以用难度不大
2023年最新京东web端h5st3.0/3.1/4.1/4.2算法分析_第6张图片

2023.7.31 更新: 随机生成Fp已失效,需要扣代码计算,后面发新文章讲解

技术交流 5LyB6bmFNTM0NjE1Njk=(base64解码)

你可能感兴趣的:(逆向笔记,前端)