当前位置: 首页 > news >正文

017-RSA:贝壳网登录(参数password)

案例地址:贝壳网登录

找加密参数+加密位置

这里有四个密文,但是不是所有密文都需要js逆向(不是所有参数都是js代码中的):

我们可以先清空所有接口数据然后开着控制台重新刷新网页然后到我们要的接口触发,说白了就是抓到从网页加载到我们要的接口过程中的所有包,然后看看某些参数是否是其他接口的响应结果:

所有数据包如下:

然后全局搜索(响应内容的全局):

说明这个密文是另一个接口返回的,再搜:

看一下此接口负载:

此接口负载是密文,想要拿到此密文,这个负载可能还需要逆向,先不管,再搜:

这个搜不到,可能需要逆向了,但是本文先不讲这两个参数怎么获取(第一个参数是请求另一个接口获取响应,但是另一个接口也有加密参数,逆向了那些加密参数才能拿到这个接口的密文值),本文主要讲password:

xhr定位:

此处已经有了,向上跟栈(这里是异步后第一个栈):

说明加密在异步中或者异步前,打断点看看:

说明就是在异步中,进去:

观察密文时发现运行到这一行直接就跳到xhr断点那里了:

所以再次过来后点第三个按钮进去看看:

继续点第二个按钮观察密文:

发现经过上面图片这一行之后就变成密文了,所以加密就在这里,这里是三个and,所以要看&&两端是否是true来判断运行的是哪一行代码:

第三个并列换行了,只能在控制台看,然后发现了加密,所以进第三个里面,第三个很长需要慢慢分析,从里到外分析,直接运行整个代码后,某些参数就会被污染,一直呈现加密状态,不利于我们分析(刚刚我们在控制台运行了整个代码,所以也需要打上断点重新过来,不然你会发现单一个r入参就是密文,但是你重新运行过来就又不是了):

这里从里到外分析后会发现经过E.a函数后加密了,进去看看:

很像RSA吧,设置密钥然后加密,打断点看看n是啥:

密钥长度1024,应该是标准的RSA,但是当时我们看出来,所以我进去扣代码了,那我们就讲一下扣代码的吧

扣代码复现加密逻辑

进一个类(这个就是加密的类):

我进了初始化函数中:

这里面好多关键字,所以我选择全扣pt函数:

然后调用尝试加密:

去浏览器拿一下lt:

发现还少,再扣:

还扣:

但是这里我觉得不对劲了,像这种单字母赋值函数这里有一大坨,f中还调用了p函数,这时候我见想着全扣了:

我们全给他拿到本地看看:

这是整个文件,然后我们发现一个熟悉的东西:

看一下:

加载器,下面好多模块,那我们加密的模块是哪个呢,我们应该用不了这么多模块,所以搜索一下:

将前后的模块先全删掉:

只剩这个模块:

然后将webpack单扣出来:

webpack前面是环境判断,带上需要补环境,麻烦,一会儿不行再换方法,抠出来之后补成自执行方法:

并写上这句话方便补模块:

但是这里我觉得不用补,因为:

啥都有了,将关键代码补上,然后导出加载器(导出要注意后面有return,补return前面):

运行一下看看:

少模块,看看怎么个事儿:

这里一般就是webpack加载用的东西,调用了86模块,注释之后运行看看:

ok了,那么就是这个类是一个加密的类,无需补充其他模块

文章补充

其实这个模块是个构造函数(老js的类),一般来说一种加密封装成一个类,所以我就保留了这一个模块,然后怎么看是否是构造函数呢——有this.xxx就是:

小结

本文扣了一个webpack,看着有点儿难,其实就是类似魔改的解决方法,全扣代码而已,当然这里可以直接当作标准RSA处理,ok,文章到此结束,如有问题请及时提出,加油加油

http://www.jsqmd.com/news/235611/

相关文章:

  • 【SCI一区】【电动车】基于ADMM双层凸优化的燃料电池混合动力汽车研究(Matlab代码实现)
  • 013-webpack:新东方
  • [特殊字符]_微服务架构下的性能调优实战[20260112163019]
  • 12. SELinux 加固 Linux 安全
  • 报告显示:小镇青年摆脱父辈人情链,从“关系继承“走向“关系开拓“ | 美通社头条
  • 基于电力电子系统的MOSFET基本工作原理系统学习指南
  • 全网最全10个AI论文软件,助本科生搞定毕业论文!
  • [特殊字符]_可扩展性架构设计:从单体到微服务的性能演进[20260112163630]
  • 新手必看:Altium Designer中过孔建模与仿真配置
  • 面试 Java 基础八股文十问十答第七期
  • 快速理解Altium Designer的阻抗控制设置方法
  • 接口测试用例的设计方法
  • 通过QTabWidget实现多步骤向导界面的方案
  • 2百万人围观的Claude Code 实战使用指南
  • 使用 IChatReducer 进行聊天记录缩减
  • 批量服务器操作:结合screen命令的高效管理策略
  • Session与Cookies
  • DeepSeek降AI有用吗?实测告诉你真相
  • UE5 C++(22-3生成类对象的函数):template<class R> R* UObject :: CreateDefaultSubobject(FName SubobjName,...)
  • 顶尖AI竟输给三岁宝宝,BabyVision测试暴露多模态模型硬伤
  • 二极管(一)——反向恢复时间
  • 通过Python实现Elasticsearch数据库访问的手把手教程
  • Gerber文件转PCB:新手必看反向流程
  • 结型场效应晶体管JEFT(一)——原理
  • 文档解析结果脏乱差?零样本适配各类格式!这个OCR多模态解析工具相当给力!
  • 《技术领先,市场沉默?专知智库白皮书定制,唤醒企业“沉睡的估值”》
  • 手把手教你排查Multisim数据库依赖项问题
  • 论文AI率从80%降到10%:我的亲身经历和方法分享
  • CANoe中UDS诊断报文发送手把手教程
  • 新一代信息技术 vs 人工智能