一、数据接口分析
主页地址:某某学堂
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();
}
本文详细描述了如何通过抓包分析在某某学堂的数据接口中,定位加密位置,发现使用DES加密并通过CryptoJS库实现。作者提供了JavaScript源码片段,展示了加密过程的关键部分。
2万+

被折叠的 条评论
为什么被折叠?



