Jmeter中使用前置處理器加密傳輸資料

testingbang發表於2020-02-14

在實際網站測試中,前端會對使用者名稱和密碼加密傳參,如下圖:



這裡就是登入密碼進行了加密傳輸。那麼我們解決問題的思路是怎麼樣的呢?
第一,這個引數是怎麼加密的?依賴哪個檔案?
第二,是怎麼呼叫的,使用哪個方法?
第三,我使用同樣的加密檔案同樣的加密方法將引數加密後傳給引數是不是解決了?

我們先來解決前兩個問題,找到加密的方法和依賴包。我們使用F12,找到,登入的的請求事件:


然後這個時候就需要在前端先走一遍註冊流程,透過F12健來檢視,很明顯,login這個事件在login.js裡面,我們開啟這個檔案

搜尋login這個方法,定位,如下圖:


這一段程式碼就是加密的方法。
找到是哪個加密依賴包呢?我們閱讀以下這個加密的方法,會發現:


我們再去souse中檢視依賴包:
是不是很巧合?點選檢視,檔案被加密,我們放到工具中美化,全是字串的迴圈等等,這顯然就是加密的JS檔案。OK,點選下載,或者直接透過檔案檢視那裡複製出來,將這個檔案儲存,放到jmeter的bin目錄中。如圖:

下邊就是我透過瀏覽器下載的加密js檔案:


我們再將加密的方法程式碼複製出來,放到jmeter的前處理器上。如圖:
這裡要注意,平時,我們的前處理器常用的是執行java程式碼,而現在是JS程式碼,這就需要我們使用JSR223前處理器,同時,選擇JS語言,再將加密後的字串傳給一個變數,就可以了。如圖:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69942496/viewspace-2675599/,如需轉載,請註明出處,否則將追究法律責任。

相關文章