58子站安居,经纪人营销管理平台登录接口加密逆向

举报
梦想橡皮擦 发表于 2022/05/26 01:23:39 2022/05/26
【摘要】 文章目录 ⛳️ 实战场景⛳️ password 实战分析 ⛳️ 实战场景 本次要解决的站点依旧来源自 78 技术人社群,有朋友希望再次说明一下其登录模块的加密参数寻找与逆向逻辑,本文我...

⛳️ 实战场景

本次要解决的站点依旧来源自 78 技术人社群,有朋友希望再次说明一下其登录模块的加密参数寻找与逆向逻辑,本文我们就一起分析一下。

站点地址为:vip.anjuke.com/portal/login

通过开发者工具,可以简简单单的寻找到相应的数据。

  • 请求网址: cloud-passport.anjuke.com/jjr/login/pc/dologin
  • 请求方法: POST

相关参数截图如下所示,看到参数之后一惊,竟然这么多!

58子站安居,经纪人营销管理平台登录接口加密逆向
下面重点对 password 参数进行一下分析。

⛳️ password 实战分析

我们通过登录按钮,寻找参数加密逻辑,当唤醒工具之后,竟然发现了熟悉的名称 - bundle.js?这难道是一个 webpack 加密站点?
58子站安居,经纪人营销管理平台登录接口加密逆向
本以为添加断点之后,就可以抓取相关数据了,但没有想到竟然有一个心跳操作。

指向的域名是 passportdatacollect.58.com/collect/upload,总感觉在收集某些资料。

既然没有办法跟踪,那只能添加一个 XHR 断点了,但是奇怪的事情又出现了,该断点打不住,因为没有 JS 启动,奇怪了。
58子站安居,经纪人营销管理平台登录接口加密逆向
那只能依赖字符串检索,期待其请求地址没有加密。全局搜索 pc/dologin,得到下图所示内容。

58子站安居,经纪人营销管理平台登录接口加密逆向
然后我们继续检索 mobileLoginUrl,结果就发现了核心逻辑。

58子站安居,经纪人营销管理平台登录接口加密逆向
其中 password 加密函数名称是 r.encrypt(e.passWord)

断点添加之后,很容易进入到代码中。

58子站安居,经纪人营销管理平台登录接口加密逆向
然后该加密函数指引我们到了一个 mobileLogin_版本号.js 文件中,拖拽到文件头部,看到熟悉的 webpack 结构。

58子站安居,经纪人营销管理平台登录接口加密逆向
既然是 webpack 打包的 JS,那解决起来就简单多了,直接扣取 JS 即可。

本文使用一个更加粗暴的路子,直接全部下载 JS 文件,然后删除其中无用部分。

完整 JS 可以点击文末卡片获取。

代码中去除用户鉴权部分,即下述内容。

n(7),
window.$instanceof Function || n(87);

58子站安居,经纪人营销管理平台登录接口加密逆向
然后在使用全局变量的技巧,将各种函数暴露出来。

在下图所示位置,添加一个全局变量。

window.ca =

然后我们运行文件之后,调用 ca ,就可以得到对象中的相关函数了。
58子站安居,经纪人营销管理平台登录接口加密逆向
接下来当加密的时候,问题又出现了,加密关键 KEY 获取不到,出现下图错误。
58子站安居,经纪人营销管理平台登录接口加密逆向
该问题是由于作用域范围导致的,可以将部分参数进行硬编码。

"encrypt": function(e, t, n) {
    var i = this
      , r = 1411093327735 - (new Date).getTime()
      , o = (new Date).getTime() + r;
    return t && (i.rsaExponent = t),
    n && (i.rsaModulus = n),
    u(o + encodeURIComponent(e), i.rsaExponent, i.rsaModulus)
},

其中的关键参数是 ii.rsaExponenti.rsaModulus,将其替换为实际值即可。

修改之后的代码如下所示。
58子站安居,经纪人营销管理平台登录接口加密逆向

运行之后解决问题。
58子站安居,经纪人营销管理平台登录接口加密逆向

📢📢📢📢📢📢
💗 你正在阅读 【梦想橡皮擦】 的博客
👍 阅读完毕,可以点点小手赞一下
🌻 发现错误,直接评论区中指正吧
📆 橡皮擦的第 668 篇原创博客

欢迎大家订阅专栏:

文章来源: dream.blog.csdn.net,作者:梦想橡皮擦,版权归原作者所有,如需转载,请联系作者。

原文链接:dream.blog.csdn.net/article/details/124732303

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。