吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2550|回复: 15
收起左侧

[Web逆向] 某加解密网站的逆向实践

[复制链接]
woyaoxuexi 发表于 2024-1-21 15:08
本帖最后由 woyaoxuexi 于 2024-1-21 15:23 编辑

访问地址

aHR0cHM6Ly93d3cuc29qc29uLmNvbS9lbmNyeXB0X21kNS5odG1s

逆向目标
  获取其md5解密接口请求头`Sojsonhost` `Sojsondata`的加密实现,并通过postman请求成功返回。


header

header


逆向过程
  打开控制台。映入眼帘的果然是匿名debugger,代码是加密压缩过的。

debugger

debugger


  chrome source 直接开启本地替换。

replace

replace


  那么,**vscode 启动**,文件打开后格式化。

decode-md5-js.png

  1300行,还行。sojson.v4,对代码会做反调试,包括无限循环debugger,堆栈溢出。动不动风扇就启动了,我这18款的老年mbp身子骨遭罪了。
  好好好,这么流氓是吧。把这个script标签内的代码抽离到本地一个js文件,再引用过来。接下来,就是跟这个js文件好好耍耍。

  翻译官上线。把所有变量,按照自己的理解,批量替换成有含义的名称。数字从16进制恢复到10进制。字符串从ascii、unicode恢复正常显示。然后对整体代码做优化。就像给一位很离谱的同事代码做优化。

  先声明一个大的数组coreArray,存储了转换后的业务属性。
  然后是一个自执行匿名函数,这个函数将coreArray的前147位拼接到最后。并加了反格式化调试,引起页面崩溃。
  好好好,这么流氓是吧。直接在页面控制台执行相关数组操作,获取结果替换coreArray,并注释或删掉此自执行匿名函数。

  接下来,是一个函数。主要是对数组元素做格式化转换,并缓存转换结果。并加了反格式化调试,引起页面崩溃。
  好好好,这么流氓是吧。注释掉```format.once```相关代码,即可。

  接下来,是两个函数。没有实际业务功能,主要检测代码格式化,函数无限循环调用,堆栈溢出。
  好好好,这么流氓是吧。注释掉```// _0x28f610();```即可。

  接下来,是两个自执行函数,主要还是代码下毒,并初始化core的。
  好好好,这么流氓是吧。注释掉```// _0x197c83('0');``即可。

  接下来,是个if语句块,判断域名的,不是当前域名,就无限刷新页面。
  好好好,这么流氓是吧。注释掉所有语句即可。

  接下来,是个setInterval计时器,每4秒执行一次core函数。不知道干嘛,肯定不干好事。
  好好好,这么流氓是吧。注释掉内部执行语句即可。

  接下来,就是最重要的时刻了,使用layui框架的jquery监听两个页面按钮事件,是我们要找的。
  好好好,这么流氓是吧。直接翻译过来。拿来吧你。

   decode-listener.png
  分析一下,so是jquery,sf是封装的jquery extend。那么en是啥呢。`Sojsonhost`也还未知。
  好好好,这么流氓是吧。直接排查到在`sojson.core.2.0.js`

  chrome source 直接开启本地替换,再格式化。一番分析,通过ajax请求的启动器,定位到请求处,打断点,发起请求。可以看到某变量属性`au_hots`到值就是`Sojsonhost`。定位到此处
   deocde-host.png
  postman启动,导入curl,修改header参数,send,成功。

  至此,已经可以舒服了。

  但是,这个网站这么流氓,必须要把它内裤扒开。
  `sojson.security.m.js`是其加密源码,一番操作后,转换为格式化后代码。分析发现,`SOSecurity`为其全局函数,`en`使用的rc4加密,key为`BAQADIw9BH0KeVWy3GCDSEvbyybst4644+D4GK3idt7z0tPXQlt5pBoOmF72W81fdChZHqFJhRR57SIo6NWvdrooeggo6N8SbE30XH9mxI0ZTihk+7hFXhTB76dsnYx3L3suKQGCAa3n2dMirPjwf1mpH5kk/YPU6hU9vbL7LpNS5Qe2MCQgBKQiBCDANG4AAUQABEQD3bISGqSCG0AMfGIM`的反转。

  相关本地代码,提到了github list上了,方便各位读者观看。
  地址:aHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vZGluZ2NhbmcvYmFiNjczZThjOTY4NTEwNmQ3NWRhZmYzYmQzNWRjNjA=

免费评分

参与人数 8威望 +1 吾爱币 +29 热心值 +8 收起 理由
shg6220 + 1 我很赞同!
涛之雨 + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
janken + 1 + 1 热心回复!
Yangzaipython + 1 + 1 用心讨论,共获提升!
sundeheng + 1 + 1 好好好,这么流氓是吧。
深巷丶 + 3 + 1 好好好,这么流氓是吧。
linze02 + 1 + 1 我很赞同!
漁滒 + 2 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

CloudPluie 发表于 2024-1-23 09:49
6666 大佬牛掰
xuezhicailiao 发表于 2024-1-23 13:06
alongzhenggang 发表于 2024-1-22 13:16
 楼主| woyaoxuexi 发表于 2024-1-22 13:57
alongzhenggang 发表于 2024-1-22 13:16
Git  500错误  搞不了

啊。git 500是你的问题还是我的问题。是指文章最后的github list地址吗,我访问正常,访问权限设置的也是public。
Yangzaipython 发表于 2024-1-22 17:13
感谢分享
刘大富 发表于 2024-1-22 19:14
感谢分享
逐雅斋 发表于 2024-1-22 21:42
看起来不错,增知道sojson.v5能否解密
 楼主| woyaoxuexi 发表于 2024-1-23 09:36
逐雅斋 发表于 2024-1-22 21:42
看起来不错,增知道sojson.v5能否解密

理论上前端代码都可以解密吧
hayyot 发表于 2024-1-23 21:21
js逆向,学到了学到了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 13:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表