文章总结: … 综合评分: 0 文章分类: …
JS逆向 — 某点数据登录逆向分析
littlewhite11 littlewhite11
逆向有你
2026年3月18日 11:55 河南
逆向目标
- 网址:
aHR0cHM6Ly9hcHAuZGlhbmRpYW4uY29tL2xvZ2luP2xpbms9aHR0cHMlM0ElMkYlMkZhcHAuZGlhbmRpYW4uY29tJTJGcmFuayUyRmlvcyUyRg== - 目标:登录参数逆向
抓包分析
我们选择邮箱,输入账号密码进行登录,发了一个login请求,其中参数k是需要逆向分析的,请求头和响应都不需要额外处理。
因为参数k并没有什么特征,所以直接搜索不太现实,所以我们选择跟栈来看参数如何生成的。
从启动器入手,看到了Promise.then,那参数的生成有可能涉及异步,那我们在异步之后下断点,验证一下猜想。
可以看到异步之后参数k已经生成,那大概率就涉及异步了。
逆向分析
既然知道可能涉及异步,那我们就在异步之前下断,可以找一找请求拦截器。
可以看到data中参数k还没有生成。
那我们可以简单hook一下参数k(这里因为只剩下参数k还没有set,且只是为了找到位置,所以hook代码就简单写了,更完善的hook代码可以自行查资料实现)。
复制代码 隐藏代码
Object.defineProperty(e.data, 'k', {
set(){
debugger
}
})
hook代码生效后,过掉断点,发现参数k的set并没有hook到,那么根据经验,data可能在过程中被重新赋值了,所以我们hook一下data的set方法。
复制代码 隐藏代码
Object.defineProperty(e, 'data', {
set(){
debugger
}
})
成功hook到data设置参数。
往上跟一个栈,我们就可以发现参数k的生成位置了。
把断点下好,重新刷新网页(因为之前的hook代码写得很潦草,防止出现不期待的情况),然后进行参数k的逆向。
在逆向过程中,有很多小技巧可以简化我们的逆向过程,比如这里的t.data,在经过h()(t.data, !1) || {}其实并没有变化,那我们就可以不去抠h()的代码。
然后我们的重点是Object(y.a)这个函数,直接跟进去,e是data,path是路径参数/v1/user/company/login,n就是前文的n,r是请求方法。
可以直接把这个函数拉下来本地,然后缺什么补什么,还是那句话,能简化的东西就简化,能不抠的代码就不要去抠。
这里的t经过c()函数后并没有发生变化,那就可以不抠c()的代码,直接var n = t;
这里的!l()(n)可能只是在校验n这个对象是什么类型,在生成参数k这一细分流程中,n始终是对象类型,那我们也没必要去抠l()的代码,直接把条件当true处理。
l()函数代码
然后就是加密方法Object(_.b),我们直接跟进去。可以清晰地看到是aes-cbc的加密,但我们常遇到的是用crypto-js这个库实现的,这里显得有些陌生。
遇事不决,那就问一问AI,可以看到AI也是很给力,给出了一版答案。
我们本地模拟实现,和网站的结果对比一下,可以看到结果是正确的。
那我们的代码就算是抠完了。
那么有人就好奇,在进行aes加密时用到的几个参数,看起来并没有规律,那为什么我们并没有去跟,其实这都是经验之谈。
服务器拿到我们生成的加密参数,是需要去校验的,对于
aes这种对称加密算法而言,它的key和iv肯定在服务器中存有一份,既然login接口没有上报,那key和iv要么是固定的,要么是服务器下发的,这个网站每次刷新key和iv都会变,那大概率是服务器下发的,我们可以直接搜索。
可以看到这些参数确实在html页面中(服务器下发)。
那我们模拟登录的流程就是:先请求html页面拿到s、k和l三个参数,然后通过前文的流程生成参数k,最后携带生成的参数模拟请求。
模拟请求结果:
成功!!!
·今 日 推 荐·
本文内容来自网络,如有侵权请联系删除
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:逆向有你 littlewhite11 littlewhite11《JS逆向 — 某点数据登录逆向分析》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论