一、数据接口分析
主页地址:某培训平台
1、抓包
通过抓包可以发现登录是表单提交到j_spring_security_check
2、判断是否有加密参数
- 请求参数是否加密?
通过查看“载荷”模块可以发现有一个j_password
加密参数
- 请求头是否加密?
无 - 响应是否加密?
无 - cookie是否加密?
无
二、加密位置定位
1、看启动器
因为这个登录是表单提交,所以无法通过启动器点位
2、搜索关键字
通过搜索j_password
就可以找到对应的加密位置
三、扣js代码
通过验证发现,该网站使用的是标准rsa加密,所以不需要扣加密算法,使用标准模块即可
源代码:
const JSEncrypt = require('jsencrypt');
var PUBLICKEY="-----BEGIN PUBLIC KEY-----"
+"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqCvtrtBBeP/LIO6VtFAUItx9Dwi9lXRX"
+"sSHT8C9p/yQ9FaUjB8YQTI7FL/HxggTU+P61A3a17GK23Whm4VNkriIDJZVd7opqnGzGC0XAdeml"
+"LCxmutZIypbUEhQmd68pZ+74e6QH2lu/lcukFFSdeI6p5IaWAUgvOjzPGUCZLKuABfhw8LoOmcFW"
+"LgPMQy6BZheKBqiLvFTx5eX9VbzaPCfZsSCxPRXb4snL5QyIbtBppamPW5TkUcGPECMNdbpfbIoX"
+"LBGhcxqrYEGNtXEwu47eOUBLbPPrE0o5KZ7sw3b1LepoxH3MXKpDHcBg1n3jUreE5ZfcNLX1GWKs"
+"eyNQiQIDAQAB"
+"-----END PUBLIC KEY-----";
function get_pwd(pwd) {
var encrypt = new JSEncrypt();
encrypt.setPublicKey(PUBLICKEY);
return encrypt.encrypt(pwd)
}