网址:登录- 一品威客网,创新型知识技能共享服务平台
抓到登陆包分析,发现哀求头有参数加密,直接搜刮
定位到加密位置,打上断点,很明显是对象f的a方法举行了加密。


往上找f,可以发现f被界说了,是个webpack,打上断点,刷新页面‘

进入e,找到加载器,复制自执行函数,导出加载器,补上环境,改成字典格式,删除初始化。找到443函数,复制函数。

初步写成代码

现在把里面的参数找齐,l是一个固定对象,是固定的打印一下就知道了

M是载荷

U在上方有界说

里面缺少A,上面界说了

又缺少h.e函数 ,进去复制

将h.e改写成d


现在代码情况,现在就是缺少模块了。去一个个复制即可。

实在也不用这样子扣webpack,由于我发现就如f.a函数中,里面的的方法无非是MD5和AES
所以调用库即可。
完整代码:
- const CryptoJS = require("crypto-js");
- function d(t) {
- return CryptoJS.MD5(t)
- };
- l = {
- key: CryptoJS.enc.Utf8.parse("fX@VyCQVvpdj8RCa"),
- iv: CryptoJS.enc.Utf8.parse(function(t) {
- for (var e = "", i = 0; i < t.length - 1; i += 2) {
- var n = parseInt(t[i] + "" + t[i + 1], 16);
- e += String.fromCharCode(n)
- }
- return e
- }("00000000000000000000000000000000"))
- }
- var v = function(data) {
- return function(data) {
- return CryptoJS.AES.encrypt(data, l.key, {
- iv: l.iv,
- mode: CryptoJS.mode.CBC,
- padding: CryptoJS.pad.Pkcs7
- }).toString()
- }(data)
- };
- var g = {
- "i": false,
- "j": false,
- "h": true,
- "d": "prod",
- "a": "https://s1.weikeimg.com/_nuxt/",
- "e": "https://im2.epwitkey.com",
- "b": "4ac490420ac63db4",
- "c": "a75846eb4ac490420ac63db46d2a03bf",
- "f": "af9f93d4530c6167",
- "g": "c93ce713af9f93d4530c6167b78a3871"
- };
- A = parseInt((new Date).getTime() / 1e3);
- var M={
- "username": "123456",
- "password": "123456",
- "code": "",
- "hdn_refer": "https://zt.epwk.com/"
- };
- var U = {
- "App-Ver": "",
- "Os-Ver": "",
- "Device-Ver": "",
- Imei: "",
- "Access-Token": "",
- Timestemp: A,
- NonceStr: "".concat(A).concat(Object(d)()),
- "App-Id": l.j ? l.f : l.b,
- "Device-Os": "web"
- };
- f = function(t) {
- var e = "";
- return Object.keys(t).sort().forEach((function(n) {
- e += n + ("object" === typeof (t[n]) ? JSON.stringify(t[n], (function(t, e) {
- return "number" == typeof e && (e = String(e)),
- e
- }
- )).replace(/\//g, "\\/") : t[n])
- }
- )),
- e
- };
- h = function(t) {
- var data = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}
- , e = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "a75846eb4ac490420ac63db46d2a03bf"
- , n = e + f(data) + f(t) + e;
- return n = d(n),
- n = v(n)
- };
- console.log(h(U, M, g.c))
- // 结果为RLD9f/i0LE0orrEqIey98ZOF7ezlL+yFkeycUVYF2kI=
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |