某東h5st_5.1(補環境)

JS逆向實戰——某東h5st_5.1(補環境)

  • 聲明
  • 網站
  • 流程分析
  • 結果展示
  • 總結

聲明

本文章中所有內容僅供學習交流,抓包內容、敏感網址、數據接口均已做脫敏處理,嚴禁用于商業用途和非法用途,否則由此產生的一切后果均與作者無關,若有侵權,請聯系我立即刪除!

網站

aHR0cHM6Ly9zZWFyY2guamQuY29tL1NlYXJjaD9rZXl3b3JkPSVFNiU4OSU4QiVFNiU5QyVCQSZzdWdnZXN0PTEuaGlzLjAuMCZ3cT0lRTYlODklOEIlRTYlOUMlQkEmc3RvY2s9MSZwdmlkPWNkYzhjOWI4ZGM1OTRiNDg5NTlmYzc5ZTViMDM1Nzg2JmlzTGlzdD0wJnBhZ2U9MyZzPTU2JmNsaWNrPTAmbG9nX2lkPTE3NDU2NTU5MDE2NzEuOTM1Mg

今天水一篇某東的h5st_5.1版,但是內容不會講的很詳細,說一下我覺得的關鍵內容,不想收到某東的私信,有問題可以直接私信,下面進入正題。

流程分析

搜索h5st可以直接定位到生成位置,發現是個異步,使用py調用時可以先將異步轉同步,或者打印結果后強制停止程序,返回結果調用,我是用的是第二種方法,使用subprocess庫。

在這里插入圖片描述

參數中的body是請求體中的body經過SHA256加密而成,標準庫,網上找套加密源碼套上就行。

在這里插入圖片描述

接下來講一下補環境,需要的環境不是很多,就不講的很細了,主要是不方便,容易受到警告。下面列舉一下需要的一些環境。
document.all、canvas、head、getContext_2d等
比較重要的檢測就是document.all,下面放出我補的代碼

const { debug } = require('console')
const { he } = require('faker/lib/locales')
const v8 = require('v8');
const vm=require('vm');
const { prototype } = require('events');
v8.setFlagsFromString('--allow-natives-syntax');
let undetectable = vm.runInThisContext("%GetUndetectable()");
v8.setFlagsFromString('--no-allow-natives-syntax');HTMLAllCollection = function HTMLAllCollection() { };
window.HTMLAllCollection = HTMLAllCollection;all = undetectable;
all.__proto__ = HTMLAllCollection.prototype;
all.length = 3173;

別的環境常規補就沒什么問題了,長度和網頁的差不多就可以去測了,基本沒什么問題。如果實在過不了可以hook隨機數等,最終生成的加密和網頁一致就包沒問題啦,下面放出hook代碼。

Date.now = function now() {return 17375265789541
};
Date.parse = function () {return 1661986251253
};
Date.prototype.valueOf = function () {return 1661986251253
};
Date.prototype.getTime = function () {return 1661986251253
};
Date.prototype.toString = function () {return 1661986251253
};
Performance.prototype.now = function now() {return Number('1661986251253'.slice(8))
}
Math.random = function random() {return 0.08636862211354912
};
window.crypto.getRandomValues = function getRandomValues(array32, ...args) {return array32;
}

結果展示

最終也是可以成功翻頁拿到數據

在這里插入圖片描述

總結

需要完整代碼的可以私信我,逆向分析中有任何疑問也可以私信我一起討論學習,謝謝大家!!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/78308.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/78308.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/78308.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

新增Webhook通知功能,文檔目錄樹展示性能優化,zyplayer-doc 2.5.1 發布啦!

zyplayer-doc是一款適合企業和個人使用的WIKI知識庫管理工具,支持在線編輯富文本、Markdown、表格、Office文檔、API接口、思維導圖、Drawio以及任意的文本文件,支持基于知識庫的AI問答,專為私有化部署而設計,最大程度上保證企業或…

macOS安全隱私最佳實踐分析

1. 引言 隨著數字世界的不斷擴展,個人和組織面臨的安全與隱私威脅也日益增加。作為專業的安全合規與隱私保護研究團隊,Kaamel 對 macOS 系統的安全隱私現狀進行了全面分析,并提出了一系列最佳實踐建議,旨在幫助用戶更好地保護自己…

架構設計之異地多活與單元化(Set化)

公司的業務到達一定規模后,往往會考慮做多數據中心。一方面是面臨業務增長帶來的挑戰,單個數據中心變得難以支撐;另一方面出于對業務容災的考量,也可能在多個城市建立數據中心達到容災目的。單元化(Set化)是作為異地多活的一個解決方案。 一、什么是異地多活 異地多活是…

Kettle學習

一、Kettle 簡介 Kettle(現稱為 Pentaho Data Integration)是一款開源ETL工具,支持從多種數據源抽取、轉換和加載數據,廣泛應用于數據倉庫構建、數據遷移和清洗。其核心優勢包括: 可視化操作:通過拖拽組件設計數據處理流程(轉換和作業)。多數據源支持:數據庫(MySQL/…

蘋果計劃2026年底前實現美版iPhone“印度造”,以減輕關稅及地緣政治風險

基于 6 個來源 據多家媒體報道,蘋果公司計劃在2026年底前,實現在印度組裝銷往美國的大部分或全部iPhone手機,以減輕關稅和地緣政治緊張局勢帶來的風險。這一目標意味著蘋果需將印度的iPhone產量增加一倍以上,凸顯其供應鏈多元化戰…

【C++】googletest_TEST/TEST_F

在 Google Test 框架中,TEST 和 TEST_F 是定義測試用例的兩個核心宏,它們的區別主要體現在 測試上下文的管理方式 上。以下是二者的詳細對比: 1. TEST 宏 定義方式 TEST(TestSuiteName, TestName) {// 測試邏輯 }特點 獨立上下文&#xff…

14-DevOps-快速部署Kubernetes

在學習階段,為了能快速部署Kubernetes,這里用一個快速安裝工具:Kubeode,來完成Kubernetes的部署。 接下來部署一個單機,一主一從的Kubernetes。一主一從都部署在同一臺服務器上。 在虛擬機新開一個服務器&#xff0c…

Java 異常處理全解析:從基礎到自定義異常的實戰指南

Java 異常處理全解析:從基礎到自定義異常的實戰指南 一、Java 異常體系:Error 與 Exception 的本質區別 1. 異常體系核心架構 Java把異常當作對象來處理,并定義一個基類java.lang.Throwable作為所有異常的超類。 在Java API中已經定義了許…

redis 數據類型新手練習系列——string類型

redis 數據類型 Redis 主要支持以下幾種數據類型: (1)string(字符串): 基本的數據存儲單元,可以存儲字符串、整數或者浮點數。 (2)hash(哈希):一個鍵值對集…

Android12源碼編譯及刷機

由于google的AOSP源碼拉取經常失敗,編譯還經常出現各種問題。這里根據香橙派Orange Pi 5 Plus(Android12電視鏡像)源碼進行編譯演示。 RK芯片的開發板可玩性很高,這里以電視版本android系統為例子,學習的同時還可以當…

從零實現 registry.k8s.io/pause:3.8 鏡像的導出與導入

以下是為 registry.k8s.io/pause:3.8 鏡像的導出與導入操作定制的完整教程,適用于 Kubernetes 集群中使用 containerd 作為容器運行時的場景。本教程包含詳細步驟、常見問題解析及注意事項。 從零實現 registry.k8s.io/pause:3.8 鏡像的導出與導入 背景說明 Kuber…

Redis和MQ的區別

redis是一個高性能的key-value數據庫,支持消息推送功能,可以當做一個輕量級的隊列服務器使用。 redis只是提供一個高性能的、原子操作內存鍵值隊,具有高速訪問能力,雖然可以做消息隊列的存儲,但不具備消息隊列的任何功…

Centos7系統防火墻使用教程

CentOS 7是一種常見的Linux操作系統,防火墻作為網絡安全的第一道防線,對于服務器的安全至關重要。本文將介紹CentOS 7系統中防火墻的使用教程,包括如何開啟、關閉、配置以及防火墻規則的添加和刪除。 一、查看防火墻狀態 在開始操作之前&am…

Uniapp:navigator(頁面跳轉)

目錄 一、基本概述二、屬性說明三、具體使用一、基本概述 頁面跳轉。該組件類似HTML中的<a>組件,但只能跳轉本地頁面。目標頁面必須在pages.json中注冊。 二、屬性說明 屬性名類型默認值說明平臺差異說明urlString應用內的跳轉鏈接,值為相對路徑或絕對路徑,如:“……

大疆機場及無人機上云(航線規劃、指令飛行...)

系統操作預覽&#xff1a; 包含一鍵起飛、指令飛行、云臺控制、變焦、航線規劃、空域規劃、成果數據展示、實時飛行模擬、任務派發等 大疆無人機飛控平臺&#xff08;航線規劃、機場3、私有化部署&#xff09;_嗶哩嗶哩_bilibili 2025-04-02 更新 start、 已支持大疆機場3。…

【運維】云端掌控:用Python和Boto3實現AWS資源自動化管理

《Python OpenCV從菜鳥到高手》帶你進入圖像處理與計算機視覺的大門! 解鎖Python編程的無限可能:《奇妙的Python》帶你漫游代碼世界 在云計算時代,AWS(Amazon Web Services)作為領先的云服務平臺,其資源管理的高效性對企業至關重要。本文深入探討如何利用Python的boto3…

Java ThreadLocal與內存泄漏

當我們利用 ThreadLocal 來管理數據時&#xff0c;我們不可避免地會面臨內存泄漏的風險。 原因在于 ThreadLocal 的工作方式。當我們在當前線程的 ThreadLocalMap 中存儲一個值時&#xff0c;一旦這個值不再需要&#xff0c;釋放它就變得至關重要。如果不這樣做&#xff0c;那么…

Linux之netlink(2)libnl使用介紹(1)

Linux之netlink(2)Libnl3使用介紹(1) Author&#xff1a;Onceday Date&#xff1a;2025年4月26日 漫漫長路&#xff0c;才剛剛開始… 全系列文章可查看專欄: Linux內核知識_Once-Day的博客-CSDN博客 本文翻譯自libnl3官方文檔&#xff1a;Netlink Library (libnl) 參考文檔…

深入理解TransmittableThreadLocal:原理、使用與避坑指南

一、ThreadLocal與InheritableThreadLocal回顧 在介紹TransmittableThreadLocal之前&#xff0c;我們先回顧一下Java中的ThreadLocal和InheritableThreadLocal。 1. ThreadLocal ThreadLocal提供了線程局部變量&#xff0c;每個線程都可以通過get/set訪問自己獨立的變量副本…