前端Js解密小技巧|JS逆向

admin 2024年5月6日16:12:40评论3 views字数 1703阅读5分40秒阅读模式

0x01 前言

       某天在进行一个系统登录框渗透时,发现数据包内容加密了!

前端Js解密小技巧|JS逆向

前端Js解密小技巧|JS逆向

可以看到前端使用 JavaScript 对我们提交的手机号和验证码进行了加密处理,后端返回的数据也是经过加密的

末尾可领取资源文件

0x02 解密JS

翻一翻网站文件,发现登录验证的js文件。

前端Js解密小技巧|JS逆向

点击确定后发现停在了2370行,而且解密函数中e参数返回了一串16进制字符,看起来非常像密文

前端Js解密小技巧|JS逆向

再打开burp查看数据包,果然发现这一串 16进制字符就是响应的密文,那么这个 s.doDecrypt(e.substr(2), i, o) 自然就是js的解密函数了

前端Js解密小技巧|JS逆向

问题来了 s.doDecrypt(e.substr(2), i, o) 是从哪里来的呢?

前端Js解密小技巧|JS逆向

可以发现这是采用了国密SM2加密算法其实在查看js代码里函数都被混淆成 a、b、c、d这种无意义的函数名, 并且文件头里有 webpack的分发器,就知道这是经过webpack打包的项目了

前端Js解密小技巧|JS逆向

0x03 webpack代码利用

想要使用其中的 s.doDecrypt(e.substr(2), i, o) 函数,不必将代码逆向成原始代码,直接调用webpack混淆过的代码就可了

首先将index.js下载到本地,建议在浏览器中格式化后再下载

前端Js解密小技巧|JS逆向

用其中函数可先在文件顶部创建 全局变量

var sign; window = global

前端Js解密小技巧|JS逆向

将 sign 赋值为所需使用的分发器(例如 sign = s),然后将当前的分发器代码改为自执行函数。如果其他 Js 文件中存在对分发器的引用,需要将这些分发器代码复制黏贴到分发器定义处。由于我们想使用 s 对象下的方法,因此只需在分发器定义处创建全局变量 sign = s,即可调用该对象下的方法。

前端Js解密小技巧|JS逆向

但是直接调用 解密函数发现报错了

前端Js解密小技巧|JS逆向

这是因为在调试过程中发现,函数跳转到了另外两个js文件中,其中存储的也是webpack分发器,将其中的代码删除第一行和最后一行,其余的都复制到我们下载的index.js分发器中

前端Js解密小技巧|JS逆向

前端Js解密小技巧|JS逆向

解密测试

从burp或者浏览器中复制一组数据,i 的值是不变的, r 是密文值

前端Js解密小技巧|JS逆向

测试函数如图

前端Js解密小技巧|JS逆向

在控制台中,中文乱码了,这是因为js 默认的atob函数不能解码中文,想要用js base64解码中文需要导入 base64.js 库,这里我就不导了

先不进行base64解码

前端Js解密小技巧|JS逆向

这里我使用php的base64进行解码,可以看到成功解密了密文

前端Js解密小技巧|JS逆向

能够成功进行数据包的加解密,就可以配合burp js插件进行账号密码爆破,或者其他接口的测试了

0x05 总结

       webpack的解密还是比较少见到的,通过这次调试学习到了很多。喜欢的师傅可以点赞转发支持一下谢谢!

0x06 内部星球VIP介绍-V1.3更新啦!

       如果你想学习更多渗透挖洞技术欢迎加入我们内部星球可获得内部工具字典和享受内部资源,包含网上一些付费工具。详情直接点击下方链接进入了解,需要加入的直接点击下方链接了解即可,觉得价格高的师傅可后台回复" 星球 "有优惠券名额有限先到先得!内部包含网上需付费的0day/1day漏洞库,后续资源会更丰富在加入还是低价!

👉点击了解-->>内部VIP知识星球福利介绍V1.3版本-星球介绍

结尾

免责声明

获取方法

回复“app" 获取  app渗透和app抓包教程

回复“渗透字典" 获取 一些字典已重新划分处理需要内部专属字典可加入星球获取,好字典不对外公开,持续整理中!)

回复“书籍" 获取 网络安全相关经典书籍电子版pdf

最后必看

文章中的案例或工具仅面向合法授权的企业安全建设行为,如您需要测试内容的可用性,请自行搭建靶机环境,勿用于非法行为。如用于其他用途,由使用者承担全部法律及连带责任,与作者和本公众号无关。本项目所有收录的poc均为漏洞的理论判断,不存在漏洞利用过程,不会对目标发起真实攻击和漏洞利用。文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用。如您在使用本工具或阅读文章的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。本工具或文章或来源于网络,若有侵权请联系作者删除,请在24小时内删除,请勿用于商业行为,自行查验是否具有后门,切勿相信软件内的广告!

原文始发于微信公众号(渗透安全HackTwo):前端Js解密小技巧|JS逆向

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月6日16:12:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   前端Js解密小技巧|JS逆向https://cn-sec.com/archives/2710819.html

发表评论

匿名网友 填写信息