一、数据接口分析
主页地址:某某学堂
1、抓包
通过抓包可以发现数据接口是Account/LoginPost
2、判断是否有加密参数
- 请求参数是否加密?
通过查看“载荷”模块可以发现pass
是加密参数
- 请求头是否加密?
无 - 响应是否加密?
无 - cookie是否加密?
无
二、加密位置定位
1、看启动器
查看启动器发现里面有一个Login
的调用堆栈,点进去查看
点进去后发现,此处是发送ajax请求的位置,并且pass
就是在此处加密的
三、扣js代码
在定位到的加密位置,通过调试进入encryptByDES
方法可以发现,网站是使用的DES加密,key和iv都在上方写死的,所以可以直接使用标准模块进行加密。
JavaScript源码:
var CryptoJS = require('crypto-js')
function get_pwd(pwd) {
var _key = 'k1fsa01v';
var _iv = 'k1fsa01v';
var keyHex = CryptoJS.enc.Utf8.parse(_key);
var encrypted = CryptoJS.DES.encrypt(pwd, keyHex, {
iv: CryptoJS.enc.Utf8.parse(_iv),
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.toString();
}