js逆向實戰之某樂網登入引數pwd加密

死不悔改奇男子發表於2024-10-26

宣告:本篇文章僅用於知識分享,不用於其他用途
網址:https://oauth.d.cn/auth/goLogin.html

解密邏輯分析

  1. 訪問網址,隨便輸入使用者名稱和密碼,看觸發的流量包。
    image
  2. 可以看到使用者名稱是明文的,密碼卻是經過加密的,我們先看看是不是常用的加密。利用網站 https://1024tools.com/hash 檢視。
    image
  3. 經過對照,沒有一個符合,就得我們自己找邏輯了。全域性搜尋auth/login關鍵字。
    image
  4. 只有兩處,很好判斷,第一處就是我們要找的地方,點進去。
    image
  5. 打斷點,看看submitData是什麼。
    image
  6. 已經是加密後的資料了,說明加密邏輯在上面,往上翻翻就可看到submitData定義的地方。
    image
  7. submitData中的pwd是由rsaPwd賦值的,搜尋rsaPwd是哪裡定義的。
    image
  8. 找到定義處,是個rsa加密,找到rsa函式的定義位置。
    image
  9. 開始摳程式碼了。
var rsa = function (arg) {
      setMaxDigits(130);
      var PublicExponent = "10001";
      var modulus = "be44aec4d73408f6b60e6fe9e3dc55d0e1dc53a1e171e071b547e2e8e0b7da01c56e8c9bcf0521568eb111adccef4e40124b76e33e7ad75607c227af8f8e0b759c30ef283be8ab17a84b19a051df5f94c07e6e7be5f77866376322aac944f45f3ab532bb6efc70c1efa524d821d16cafb580c5a901f0defddea3692a4e68e6cd";
      var key = new RSAKeyPair(PublicExponent, "", modulus);
      return encryptedString(key, arg);
  };
console.log(rsa("123123"));

執行發現,沒有setMaxDigits函式。
image
回去找定義位置。
image
直接把這個檔案中的所有程式碼複製出來。再執行,沒有RSAKeyPair函式。
image
繼續回去找。
image
直接把這個檔案中的所有程式碼複製出來。再執行,沒有BarrettMu函式。
image
繼續回去找。
image
直接把這個檔案中的所有程式碼複製出來。再執行,成功得到結果。
image
與資料包中pwd的值一致,完事。

相關文章