JS逆向某網站登錄密碼分析

聲明:

本文僅供研究學習使用,請勿用於非法用途!

目標網站

aHR0cHM6Ly9hdXRoLmFsaXBheS5jb20vbG9naW4vaW5kZXguaHRt

今日目標網站是某知名支付網站,感覺自己有點飄了~~

這裡只解密密碼的加密方式

請求分析

先看請求,輸入帳號,密碼後點擊登錄,記得提前瀏覽器打開 F12

這裡注意輸入錯誤的密碼,方便我們查看請求數據包

password

在瀏覽器的開發者工具介面,快捷鍵 Crtl+Shift+F 直接打開全局搜索,

定位加密

根據上面的搜索關鍵詞 password= ,我在 index.js 文件種定位到了加密位置 getPassword,熟悉的 RSA 加密

打上斷點後,重新發請求,果不其然,在斷點處停下來了!

解密

之前有講過一篇有關 RSA 加密的專題,這裡可以直接將 RSA 相關的程式碼拷貝下來。我們主要來改寫這個 getPassword 加密函數, 原函數如下,其中 n = e.alipayEncrypt(2, i, t) 是最後要返回的結果!

function getPassword(t) {      var e = new s.RSA;      i = s.Base64.decode(this.options.TS)      e.setPublicKey(this.options.PK);      return e.alipayEncrypt(2, i, t);

我們很容易能獲取到 i 和 公鑰的值,這兩個值都是寫死的

i 是將裡面的參數經過 base64 解碼後的結果,在node 中也有直接的庫來搞定,就像你在 Python 中調用一樣,並不需要再去扣程式碼!

然後再補上 s.RSA 相關程式碼,即解密成功,具體扣程式碼細節,就不詳述了

了解更多內容,煩請關注本人公眾號, Python編程與實戰