蘑菇街商品信息獲取


蘑菇街商品信息獲取

目標網站:https://www.mogu.com/

操作:搜索

搜索關鍵詞:連衣裙

1、分析:

打開控制台,輸入關鍵詞,鼠標向下滑動有新請求發生,查看請求發現在?data中攜帶數據

 

查看與分析請求參數:

 

乍一看好像只有mw-uuidmw-sign兩個加密參數,不着急看看js代碼,找到它調用的js並進入js,搜索關鍵詞mw-uuid

 

 

 

可以看到參數列表中大部分都在這,同理搜索mw-sign在同文件下。將return打上斷點,頁面向下滑動,成功斷住

 

對相應的參數進行分析:

mw-appkey:此處可以將它設置為固定值:100028

 

mw-ttid:為字符串拼接,也能將它設置為固定值:NMMain@mgj_pc_1.0

 

mw-t:為13位時間戳

mw-h5-os:固定值unknown

mw-uuid:處理cookie值,獲取_mgjuuid的值

 

mw-sign:兩次處理e

 

重點:

1、cookie生成

分析請求流程,可以得到一共設置了兩次cookie

 

 

 

第一次設置cookie:單純的get請求,請求后設置__mgjuuid,那么mw-uuid解決

第二次設置cookie:請求參數和之前的基本一致

 

最后的參數:mw-sign:加密z(this.buildQuery(e))

this.buildQuery(e):

 

此處處理theaders的值,打印一下t.headersthis.buildQuery(e)的值對比一下

 

可以看出第一部分是將我們的傳入值進行拼接,第二部分結合js可以知道是t.versionz(t.getDateString())token

t.getDateString()為輸入的data值,那么只需分析z()函數就行了

打上相關斷點:

 

可以看到這是加密data參數,分析三元表達式發現會執行最后一個函數v.bytesToHex(n),加密長度為32位,使用常規加密碰碰運氣

 

那么z函數就是md5加密,參數分析完成。

 

2、整體流程

a) 請求https://portal.mogu.com/api/util/getUuid?callback=callback_1001獲取___mgjuuid的值,並設置cookie

b) 請求https://api.mogu.com/h5/mwp.darwin.multiget/3/設置cookie,值為token

c) 請求https://api.mogu.com/h5/mwp.pagani.search/19/獲取數據

 

3、結果

a) 

 

 

4、代碼

 

5、僅供學習

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM