【瑞數3代】藥監評審中心逆向分析 | 后綴MmEwMD參數

1.目標

目標網址:https://www.cde.org.cn/main/news/listpage/545cf855a50574699b46b26bcb165f32

在這里插入圖片描述

import requestscookies = {'FSSBBIl1UgzbN7N80S': '8sYeMWaC_IHoNl8Ckfx2y9MLiueMCkPr2V3MIoZkrMPUfzMMaXKzAoxpNPvyw4lt','Path': '/','FSSBBIl1UgzbN7N80T': '3js3ygV.St6BvO20CqJJvultwYwAmukdqIPpIgxLzMR6XftO8Uf1_XHz7gFtfZ3BqudXefnJK3q_RtHDmNYbM5OTMaSzOB9G5MtH1Bc2WHs4usnskV5NOGfHsvOwfKPS8R2QUM5WODmFdV8gu6IBXG90EMRy_hQ3HnQoSoGBYWu9DsttOG5S9l8Nf5CL.RzeaOfm7ga7FJtykCM3HdK68gqw.zL6zxBrkLAeRWPaxMeiFu2dYtaJ_wUUEjkYqo.5bfh_ooEdlmgyM5_QF8P60LrUVUJbl_Oc9WDcexuwAo_qm3q',
}headers = {'Accept': 'application/json, text/javascript, */*; q=0.01','Accept-Language': 'zh-CN,zh;q=0.9','Cache-Control': 'no-cache','Connection': 'keep-alive','Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8','Origin': 'https://www.cde.org.cn','Pragma': 'no-cache','Referer': 'https://www.cde.org.cn/main/news/listpage/545cf855a50574699b46b26bcb165f32','Sec-Fetch-Dest': 'empty','Sec-Fetch-Mode': 'cors','Sec-Fetch-Site': 'same-origin','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36','X-Requested-With': 'XMLHttpRequest','sec-ch-ua': '"Chromium";v="136", "Google Chrome";v="136", "Not.A/Brand";v="99"','sec-ch-ua-mobile': '?0','sec-ch-ua-platform': '"Windows"',# 'Cookie': 'FSSBBIl1UgzbN7N80S=8sYeMWaC_IHoNl8Ckfx2y9MLiueMCkPr2V3MIoZkrMPUfzMMaXKzAoxpNPvyw4lt; Path=/; FSSBBIl1UgzbN7N80T=3js3ygV.St6BvO20CqJJvultwYwAmukdqIPpIgxLzMR6XftO8Uf1_XHz7gFtfZ3BqudXefnJK3q_RtHDmNYbM5OTMaSzOB9G5MtH1Bc2WHs4usnskV5NOGfHsvOwfKPS8R2QUM5WODmFdV8gu6IBXG90EMRy_hQ3HnQoSoGBYWu9DsttOG5S9l8Nf5CL.RzeaOfm7ga7FJtykCM3HdK68gqw.zL6zxBrkLAeRWPaxMeiFu2dYtaJ_wUUEjkYqo.5bfh_ooEdlmgyM5_QF8P60LrUVUJbl_Oc9WDcexuwAo_qm3q',
}params = {'MmEwMD': '30VyrbstxVaiIePYi8t7Izk.2hFSezl8gr2avbixYm8KKdJcbxbucaEWVbw.RPIigzgHmdT7XDoMfVEve61oOG9VOVQUZd0kNadlppqaqwBSXsBuBw3ObE0lgDYyLDG0OdRoZT.9bUbEdhd9songV6XL_9pNli_1DIuG3lVP78knP2fIqPifkeWabjo.WJ3Zj3lyaE86hPYM0ICYhycRF9UAjUPrvwo0bQMevkGfjktatXp4g1A8yYiai.NjkT4pzHAqyfoBqiI.Jj8KPLdEM4FIucscxGD3UUbcsaR6qohf8galqgA0Hv3.VPSABnakeqDO7c2eHB3kjl_xxkoJeCKzcnaULXCd9pdLAp0FKRzEzqy',
}data = {'pageNum': '1','pageSize': '10','searchTitle': '','classId': '545cf855a50574699b46b26bcb165f32',
}
url = 'https://www.cde.org.cn/main/news/getList'response = requests.post(url, params=params, cookies=cookies, headers=headers, data=data)
  • 目標POST請求https://www.cde.org.cn/main/news/getList
  • 需要解決
    • FSSBBIl1UgzbN7N80T:瑞數3代cookie
    • MmEwMD加密參數

2.逆向分析

2.1 兩套js

https://www.cde.org.cn/4QbVtADbnLVIc/c.FxJzG50F.6152bb9.js?D9PVtGL=6152bb
https://www.cde.org.cn/4QbVtADbnLVIc/d.FxJzG50F.6152bb9.js?D9PVtGL=6152bb

在這里插入圖片描述

唯一的區別就是變了一個字母,暫且叫它ctsdts,都是固定不變的,但是他們是有區別的,在于cts可以生成cookie,dts可以生成MmEwMD參數
直接把兩套js代碼都下載下來,然后就可以直接導入使用
在這里插入圖片描述

2.2 Cookie分析

第一次請求頁面202

在這里插入圖片描述
在這里插入圖片描述
可以看到是用的cts

第一次GET請求

https://www.cde.org.cn/main/news/listpage/545cf855a50574699b46b26bcb165f32

返回202狀態碼,返回contentfunction函數代碼,返回兩個cookie
FSSBBIl1UgzbN7N80TFSSBBIl1UgzbN7N80S
但是返回的這個FSSBBIl1UgzbN7N80T沒什么用

因為第二次請求攜帶FSSBBIl1UgzbN7N80T是瑞數代碼生成的,不是返回的這個

ctscontentfunction函數三者配套使用可以生成FSSBBIl1UgzbN7N80T

content分析

在這里插入圖片描述

字符串中使用了不合法的 Unicode 轉義序列就會
報錯"Uncaught SyntaxError: Invalid Unicode escape sequence"
還有HTML 實體編碼(如 &lt;&gt; 需要轉成 <>)

第二次請求頁面200

在這里插入圖片描述
在這里插入圖片描述
需要攜帶第一次請求返回FSSBBIl1UgzbN7N80S和瑞數代碼生成的FSSBBIl1UgzbN7N80T

在這里插入圖片描述
第二次GET請求

https://www.cde.org.cn/main/news/listpage/545cf855a50574699b46b26bcb165f32

返回200狀態碼,然后又會返回一個新的contentfunction函數代碼,并且是用的dts

dtscontentfunction函數三者配套使用可以生成MmEwMD

2.3 MmEwMD參數

在這里插入圖片描述
XHR斷點MmEwMD
可以看到是 XMLHttpRequest.open方法初始化請求。它不會發送請求,只是設置請求的基本參數
瑞數正是重寫了 XMLHttpRequest.open方法,所以會生成MmEwMD參數
在這里插入圖片描述
進入open方法內部
在這里插入圖片描述

  • 生成的FSSBBIl1UgzbN7N80T不對,請二次請求頁面仍然會是202
  • 生成的MmEwMD不對,就獲取不到列表頁的數據
  • 正常情況下返回
    在這里插入圖片描述

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

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

相關文章

【漫話機器學習系列】274.基尼指數(Gini Index)

決策樹中的基尼指數&#xff08;Gini Index&#xff09;詳解 —— 從公式理解到實際應用 在構建決策樹模型時&#xff0c;一個核心問題是&#xff1a;如何選擇最優的特征來進行節點劃分&#xff1f; 這就涉及到了“劃分準則”的問題。常見的準則有信息增益、信息增益率以及本文…

R語言學習--Day07--T分布與T檢驗

昨天我們介紹了R中用于對數據進行分類的聚類分析的方法&#xff0c;接下來我們來看T分布。 T分布 T分布適用于幫我們估計整組數據&#xff08;較小的數據量&#xff0c;一般小于30&#xff09;的真實值在哪一個區間&#xff0c;具體是計算置信區間&#xff08;一般為95%&#…

數據結構與算法-線性表-雙向鏈表(Double Linked List)

1 線性表 1.4 雙向鏈表&#xff08;Double Linked List&#xff09; 雙向鏈表的結點中有兩個指針域&#xff0c;一個指向直接后繼&#xff0c;另一個指向直接前驅&#xff0c;主要是為了解決前向查找的問題。 雙向鏈表結構&#xff1a; 書籍和視頻教程都只講解了插入和刪除的…

甘特圖實例 dhtmlxGantt.js

本文介紹了如何使用dhtmlxGantt庫創建一個基礎的甘特圖示例&#xff0c;并對其進行漢化和自定義配置。首先&#xff0c;通過引入dhtmlxgantt.css和dhtmlxgantt.js文件初始化甘特圖。接著&#xff0c;通過設置gantt.i18n.setLocale("cn")實現核心文本的漢化&#xff0…

C++23 新增扁平化關聯容器詳解

文章目錄 一、引言已有關聯容器回顧新容器的引入原因 二、std::flat_set定義與特性代碼示例適用場景 三、std::flat_multiset定義與特性代碼示例適用場景 四、std::flat_map定義與特性代碼示例適用場景 五、std::flat_multimap定義與特性代碼示例適用場景 六、與其他容器的比較…

使用zap,對web應用/API接口 做安全檢測

https://www.zaproxy.org/getting-started/ 檢測方法 docker pull ghcr.io/zaproxy/zaproxy:stable# 執行baseline測試 docker run -t ghcr.io/zaproxy/zaproxy:stable zap-baseline.py \ -t https://baseline.yeshen.org# 執行api測試 docker run -t ghcr.io/zaproxy/zaproxy…

Qt—模態與非模態對話框

Qt—模態與非模態對話框 核心概念 ?模態對話框??&#xff1a;強制用戶優先處理當前窗口&#xff0c;阻塞指定范圍的用戶交互。?非模態對話框??&#xff1a;允許用戶自由切換窗口&#xff0c;無交互限制。 一、模態對話框類型與行為 1. 應用級模態&#xff08;Applica…

Axure高保真CRM客戶關系管理系統原型

一套出色的CRM&#xff08;客戶關系管理&#xff09;系統&#xff0c;無疑是企業管理者掌控客戶動態、提升銷售業績的得力助手。今天&#xff0c;就為大家介紹一款精心打造的Axure高保真CRM客戶關系管理系統原型模板&#xff0c;助你輕松開啟高效客戶管理之旅。 這款CRM原型模…

【羊圈——狀壓 + DP / 記憶化搜索DP】

題目 一般DP代碼&#xff08;注意&#xff0c;這里只能向外推(起始狀態是f(1,0)&#xff0c;不能向內推&#xff08;不然會導致之前的羊圈被割裂&#xff09;&#xff09; #include <bits/stdc.h> using namespace std;const int MAX_N 210; const int MAX_M 16;int n…

講解Mysql InnoDB的MVCC

1. 定義 MVCC是多版本并發控制&#xff08;Multi - Version Concurrency Control&#xff09;的縮寫。它是InnoDB存儲引擎實現高并發控制的一種機制。在數據庫系統中&#xff0c;多個事務可能會同時對數據進行讀寫操作&#xff0c;而MVCC通過為數據行保存多個版本來解決并發事務…

ZeroMQ Sockets介紹及應用示例

1. 概念解釋 ZeroMQ Sockets提供了一種類標準套接字&#xff08;socket-like&#xff09;的 API&#xff0c;是消息導向的通信機制&#xff0c;基于 TCP/UDP 等傳輸層協議&#xff0c;但封裝了底層細節&#xff08;如連接管理、消息路由、緩沖區等&#xff09;&#xff0c;提供…

語音合成之十五 語音合成(TTS)分句生成拼接時的響度一致性問題:現狀、成因與對策

語音合成&#xff08;TTS&#xff09;分句生成拼接時的響度一致性問題&#xff1a;現狀、成因與對策 引言&#xff1a;分段式文本轉語音中的響度一致性挑戰業界對響度差異問題的認知拼接語音片段中響度變化的根本原因分段拼接的固有挑戰各片段預測韻律特征的差異文本特征和模型…

Android中Binder驅動作用?

Binder驅動的作用與核心功能 Binder驅動是Android系統中實現進程間通信&#xff08;IPC&#xff09;的核心底層組件&#xff0c;它工作于Linux內核層&#xff0c;負責管理跨進程通信的建立、數據傳輸、資源同步等關鍵任務。以下是其核心作用及實現細節&#xff1a; 1. ??進程…

網絡學習-TCP協議(七)

一、TCP協議 TCP&#xff08;Transmission Control Protocol&#xff0c;傳輸控制協議&#xff09;是一種面向連接的、可靠的、基于字節流的傳輸層通信協議。 1、三次握手 客戶端&#xff1a; 1、先發起連接&#xff0c;發送SYN置1&#xff0c;seqnum12345(隨機值)----半連接…

【Python 基礎與實戰】從基礎語法到項目應用的全流程解析

&#xff08;1&#xff09;列表和元組的區別是什么?如何從列表創建元組?如何從元組創建列表? 列表和元組的區別&#xff1a; 可變性&#xff1a;列表是可變的&#xff0c;即可以對列表進行元素的增、刪、改操作。例如&#xff0c;可以使用append()方法添加元素&#xff0c;r…

Docker部署Zookeeper集群

簡介 ZooKeeper 是一個開源的分布式協調服務&#xff0c;由 Apache 軟件基金會開發和維護。它主要用于管理和協調分布式系統中的多個節點&#xff0c;以解決分布式環境下的常見問題&#xff0c;如配置管理、服務發現、分布式鎖等。ZooKeeper 提供了一種可靠的機制&#xff0c;…

【學習筆記】Sophus (Python) 使用文檔

以下是一份針對 Sophus 庫的 Python 使用文檔&#xff0c;涵蓋基礎概念、安裝方法、核心功能及代碼示例。內容圍繞 SO3&#xff08;3D旋轉群&#xff09;和 SE3&#xff08;3D剛體變換群&#xff09;展開&#xff0c;適合機器人學、SLAM、三維幾何等領域。 Sophus (Python) 使用…

計算機圖形學:(三)MVP變換擴展

Three.js WebGL允許把JavaScript和OpenGL 結合在一起運用&#xff0c;但使用WebGL原生的API來寫3D程序非常的復雜&#xff0c;同時需要相對較多的數學知識&#xff0c;對于前端開發者來說學習成本非常高。 Three.js是基于webGL的封裝的一個易于使用且輕量級的3D庫&#xff0c;T…

MySQL數據庫操作合集

一、SQL通用語法 ①SQL語句可以單行或多行書寫&#xff0c;以分號結尾。 ②SQL語句可以使用空格/縮進來增強語句可讀性。 ③MySQL數據庫的SQL語句不區分大小寫&#xff0c;關鍵字建議使用大寫。 ④注釋&#xff1a; 單行注釋&#xff1a; -- 注釋內容 或 # 注釋內容&#…

傳統工程項目管理與業財一體化管理的區別?

在工程項目管理領域&#xff0c;傳統管理模式與新興的業財一體化管理模式正在形成鮮明對比。隨著數字化轉型的加速&#xff0c;工程行業對高效、透明、協同的管理需求日益迫切。傳統工程項目管理依賴人工操作、分散系統和分模塊管理&#xff0c;難以應對復雜項目的全生命周期需…