mirror of
https://github.com/luzhisheng/js_reverse.git
synced 2025-04-04 23:03:48 +08:00
.. | ||
img | ||
README.md |
知识点: webpack打包
凡是遇到webpack打包的js项目,直接全局导出解密模块去执行,通过在浏览器环境测试成功后在改写成node环境下的执行。
登陆页面
参数:password2
请求登陆页面
发现password2
参数加密
全局搜索password2
,找到加密点,不难发现password2
是通过函数e = this.rsaPassword(this.passwordNode.value())
得到
进入函数调试,发现类似RSA加密
这公钥没有做base64,不能确定是否存在魔改的情况
先不管他,直接导出模块执行。把index.js全部复制到浏览器源代码中执行,头部加上var getToken
;
尾部加上getToken = __webpack_module_cache__
在补全window
全局变量参数
window.PAGE_START_LOAD_TIME = new Date().getTime();
window.LOGIN_UMID_LOAD = true;
window.viewConfig = {....},
window.viewData = {.....};
window._lang = {.....};
控制台测试
new getToken[1641].exports.default((0)).rsaPassword('123456')
能成功打印出加密后的值。
订单确认页面
存在sign
加密参数
断点定位加密参数位置
这里直接告诉你答案:就是原生md5加密