一、數據接口分析
主頁地址:阿某某營
1、抓包
通過抓包可以發現登錄接口是Users/Login
2、判斷是否有加密參數
- 請求參數是否加密?
通過查看“載荷”模塊可以發現有一個s
加密參數
- 請求頭是否加密?
無 - 響應是否加密?
無 - cookie是否加密?
無
二、加密位置定位
1、看啟動器
查看啟動器發現里面包含異步,所以無法正確找到加密位置
2、搜索關鍵字
搜索時發現,有一個js文件谷歌瀏覽器的控制臺無法加載,我也不知道什么情況,如果有知道或者有辦法解決的大佬可以私信或者評論教我一下
后面我就換成了360極速瀏覽器來調試。
通過搜索.s=
關鍵字,可以發現有一處賦值的位置,并且下方會發送ajax請求,所以可以懷疑此處就是加密位置,在這一行打斷點進行調試。
打上斷點之后,再次點擊登錄,發現可以斷住,并且k.s
就是密文,k
就在這一行上方生成的。
三、扣js代碼
將定位到的加密位置的代碼摳出,缺啥補啥即可。在c.default
中使用的是SHA1標準加密,所以c.default
里的加密可以換成標準模塊加密
源代碼:
// 引用 crypto-js 加密模塊
var CryptoJS = require('crypto-js')function c_default(e, t) {var n = (new Date).getTime() + 2592e6 + (t || 3e4), r = (e || "") + "&t=" + n;return {t: n,s: CryptoJS.SHA1(r).toString()}
}function get_param(username, password) {var n = "/WebApi/Users/Login"var w = "username=" + username + "&password=" + passwordvar x = "DUE$DEHFYE(YRUEHD*&"var k = c_default(n + "?" + w + x)return {username: username,password: password,t: k.t,s: k.s}
}