首页 > 其他分享 >某东h5st 3.x-4.x 本篇web端4.7的生成方式和逆向分享

某东h5st 3.x-4.x 本篇web端4.7的生成方式和逆向分享

时间:2024-05-13 13:08:55浏览次数:34  
标签:web 4.7 加密 h5st 生成 参数 tk

前言

本文中所有的内容仅供学习交流,禁止非法用途和商业行为。产生的一切后果与本作者无关。如有雷同纯属巧合
4.7较前面的版本改动稍大,通过异步的方式生成了h5st。这个了解过的应该都可以看出来




分析

一、抓包确定逆向参数:



20240511183735521;n9nymytm9nzgi560;f06cc;tk03wd2fa1c6e18ngdwCQhaaNYwJTPKkU4ytIQpUkZQZmhiKoaCePnFs1NB6tAF4at3qOQPZqTg4t1mTdGjhN0BkL3BF;25c6def942eacddd361cfba03857d45f9ef8fdc3d3dc949f6cca164a5c1ae355;4.7;1715423855521;VObetImT8iQA5bTxHuBCom07Ee38InaCuPcMQFyqOwmNAQO2FR5gzpaB6xIVRV1TOGxTjsHfTK5jv8gCmsIO3iBM9wmFbL0m1vMQXs8GM_68GpEXh7Ma7x7yU4655SI1-k8nxVTKIjvSedr2xLbQDZU_tmkGEx42q7MNndF7XGkROVqFwUeyU7bo_8UspxJNq94kKBrF0GVG3h38xy-6DAmK2ZuYBrGzck41jA_ipK_cFOLbDC1xhg_XI1ZO_0R0GrGAxbg2OLDS8F6LF79QFsMNYuxZGrLHWOOAhqYmVGrQMIlUCuJSQ40_fnu65VzDJaKH2h0LGXjzyHsldLOCxhLNXhuSd2JXq9xuSiB-X8QiggE7nDk8PeheJO0dl8zjLad9Prk3hGJ0DQIeqffFGvzEemLTD52YgeDqWQHLXbk3

加密参数h5st 一共分为8个部分,以此是时间、指纹、appid(固定)、tk、加密参数、version、时间戳、浏览器+账号+指纹加密


不好意思插句话!!!!

此图中js为生成x-api-eid-token的地方,比较简单...


接下来接着分析8个参数
1、tk的生成方法

注意tk和algo一一对应的关系。
2、时间和时间戳是对应的,时间戳转换成时间格式yyyyMMddhhmmssSSS
3、指纹文中有生成的js代码,我没有随机,每个版本生成的指纹方式不同,但是网上看到说是随机可以,大家可以自己尝试

4、version是固定参数
5、加密参数是重头戏来了,在这个方法中生成了加密参数
代码大量使用了vmp,可以在call的地方进行调试,就可以找到生成地方

1)各个版本都一样 body是通过下图加密

2)上面algo进行字符串拼接加密,我研究了一个hmac的加密,其中对tk进行了处理,之前版本是直接使用的tk。又看了一个SHA256的字符串拼接加密,是在之前的本版上做了+salt的操作,具体细节没有做细细的研究,可以一起讨论!
3)拼接字符串:appid+body+client+clientVersion+functionId+t。当然这个地方相比较之前版本也做了+salt处理,最终生成加密参数

好了分享到这儿也基本上差不多了!感兴趣的朋友可以+Q 七五七五二四八二九!

标签:web,4.7,加密,h5st,生成,参数,tk
From: https://www.cnblogs.com/feimew/p/18188999

相关文章

  • web3.js:使用eth包
    原文在这里简介web3-eth包提供了一套强大的功能,可以与以太坊区块链和智能合约进行交互。在本教程中,我们将指导您如何使用web3.js版本4的web3-eth包的基础知识。我们将在整个示例中使用TypeScript。步骤1:配置环境在我们开始编写和部署我们的合约之前,我们需要设置我们的环境......
  • laravel,webman,hyperf,thinkphp推荐哪一个?
    2024年5月11日14:11:45laravelwebmanhyperfthinkphp流行程度国内流行,欧洲特别是法国,美国,日本很多使用主要在国内流行,少量国外使用主要国内流行,少量国外使用国内流行,国外俄罗斯有使用性能fpm多进程模式,性能一般,偏差同步阻塞多进程模式,性能很好web第一梯队协......
  • 黄河流域挑战赛WEB部分-gxngxngxn
    黄河流域公安院校挑战赛WEB部分-gxngxngxnmyfavorPythonpickle反序列话,开启debug,用报错importosimportpickleimportbase64classA():def__reduce__(self):return(exec,("raiseException(__import__('os').popen('catflag.txt').read())"......
  • 第二届黄河流域网络安全技能挑战赛Web_wirteup
    前言好久没写过比赛的wp了,黄河流域的web出的不错,挺有意思了,花了点时间,也是成功的ak了myfavorPython注册登录,一个base64输入框,猜测pickle反序列化,简单测试下,返回的数据是pickletools.dis解析的opcode结构,猜测其实已经load了,但是没回显,写个反弹shell的opcode:importpickleimpor......
  • 在Linux中,如何配置Apache或Nginx Web服务器?
    配置Apache或NginxWeb服务器涉及到多个方面,包括安装、基本设置、虚拟主机配置、性能优化等。以下是配置这两种流行Web服务器的一般步骤:1.ApacheWeb服务器配置安装Apache:对于基于Debian的系统(如Ubuntu):sudoapt-getupdatesudoapt-getinstallapache2对于基于Red......
  • 基于webapi的websocket聊天室(三)
    上一篇处理了超长消息的问题。我们的应用到目前为止还是单聊天室,这一篇就要处理的多聊天室的问题。思路第一个问题,怎么访问不同聊天室这个可以采用路由参数来解决。我把路由设计成这样/chat/{room}。访问不同路径就代表进入不同聊天室。第二个问题,怎么创建不同的聊天室原......
  • Blazor WebAssembly使用 AuthenticationStateProvider 自定义身份认证
    本文章以客户端基础,实现类似后台系统,进入后台控制台页面需要经过登录身份验证才可访问情况简单来时就是实现前后端分离,前端通过token和用户信息进行身份认证,或者在 AuthenticationStateProvider 实现方法 GetAuthenticationStateAsync 中调用后台接口进行身份验证安装依......
  • 基于webapi的websocket聊天室(二)
    上一篇-基于webapi的websocket聊天室(一)消息超传缓冲区的问题在上一篇中我们定义了一个聊天室WebSocketChatRoom。但是每个游客只分配了400个字节的发言缓冲区,大概100字。如果需要发送更多内容呢?难道直接增大缓冲区?这是一个办法。但还有其他办法。多次接受消息可以多次调......
  • webgl和canvas的区别
    webgl和canvas的区别WebGL和Canvas的主要区别在于它们的渲染方式、功能复杂性、以及编程难度。12渲染方式:Canvas使用2D渲染上下文来绘制图形和图像,基于像素的绘图系统,通过JavaScript脚本控制渲染过程。而WebGL(WebGraphicsLibrary)是基于OpenGLES标......
  • SpringBoot3集成WebSocket
    标签:WebSocket,Session,Postman。一、简介WebSocket通过一个TCP连接在客户端和服务器之间建立一个全双工、双向的通信通道,使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据,在WebSocket的API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创......