文章总结: 本文通过两个JS解密实战案例,分享从逃避JS到掌握解密逻辑的过程。案例一分析AES加密参数,通过断点调试获取key/iv;案例二解决无限debugger干扰,揭示签名生成逻辑。关键发现是JS加密本质为参数拼接与常见加密组合,建议掌握AES/MD5基础用法,并总结六步解密流程:找文件、搜关键字、定位函数、断点调试、分析参数、还原逻辑。 综合评分: 85 文章分类: WEB安全,渗透测试,代码审计,安全工具,实战经验
【JS解密】JS解密案例分享
原创
隐雾安全 隐雾安全
隐雾安全
2026年4月10日 09:01 日本
在小说阅读器读本章
去阅读
📝 编者语
很多人在挖洞的时候,会下意识跳过JS,觉得“看不懂”“太复杂”。但其实很多关键逻辑,比如参数加密、签名生成、token 处理,都是藏在 JS 里的。
这篇文章,是学员在实际练习过程中,从“看不懂 JS”到“能自己还原加密逻辑”的一次记录。
1
阿sir 我是被逼的
说实话,我之前是有点“逃避”JS 的。
平时挖洞更多是:
- 抓包
- 改参数
- 跑接口
但只要一看到:
- 加密参数
- sign 校验
- 一堆混淆 JS
我基本就会直接跳过,心里默认: 👉 这个点太麻烦了,不如换一个。
直到工作产出越来越少,我发现绕不过去了。
一开始,连入口都找不到
👉 登录 / 请求参数是加密的
抓包能看到数据包,但参数是这样的:
一眼看过去,全是加密内容,完全没法直接改。
这时候其实就只有一条路:
去看 JS。
- 后缀名
- MIME
- 文件头
- 解析漏洞
我是怎么开始看JS的
一开始我也是乱翻,后来慢慢有点方法了:
我现在的习惯是先做三件事:
- 找JS文件(Sources里看)
- 搜关键字:
- encrypt
- sign
- md5
- aes
- 找“入口函数”
这一步其实很关键,因为:
你不需要看懂全部JS,只需要找到“关键那一小段”。
2
案例一:AES 加密,其实没那么可怕
在一个JS文件里,找到了一个类似 aesencrypt 的函数。
这时候其实已经有方向了:
这是AES加密
当时卡住的点
最大的疑问是:
- key是什么?
- iv是什么?
- 参数是怎么进去的?
关键步骤:
直接在浏览器里打断点。
打断点之后,事情就简单多了
在加密函数那里打了断点,然后重新触发请求。
这时候可以直接看到:
- 明文数据
- key
- iv
那一刻其实挺有感觉的:
原来不是不会,是之前没去“看运行过程”。
解密
虽为cbc但使用同key、iv仍可解密出原password内容,但由于iv不对应随机iv解密后仍有乱码
3
案例二:无限 debugger,其实也能绕
另一个更“恶心”一点。
打开JS之后,直接卡死,因为:
全是debugger
每一步都在断,根本没法调试。
我是懵的
我以为这个点没法搞了。
但后来发现,其实有办法:
- 用插件绕 debugger
- 或者直接去掉 debugger
- 或者用 hook
(这里我用的是现成插件绕的)
绕过之后,逻辑就清晰了
绕过之后再看代码,其实逻辑不复杂:
- 三元运算符判断e为真执行加密操作,假使用空字符串
- 键值形式keyvaulekey2value2+固定048a9c4943398714b356a696503d2d36
- 对应md5加密与数据包sign相同
最终生成一个 sign 参数。
这里我学到一个很关键的点
很多看起来复杂的 JS,本质就是:拼参数 + 加密。
你只要搞清楚:
- 参数怎么拼
- 用了什么加密
- key 是什么
基本就能复现。
4
我现在怎么看“JS 加密”这件事
经过这两次练习,我对JS的看法变化挺大的。
以前是:
看不懂 → 放弃
现在是:
看不懂 → 拆
我给自己总结了一套“JS 解密流程”
- 找 JS 文件
- 搜关键字(encrypt / sign / md5)
- 找入口函数
- 打断点
- 看参数(明文 / key / iv)
- 还原逻辑
一些前置知识(真的不用学太深)
我一开始也以为要学很多密码学,其实不用。
够用就行:
1. 常见加密方式
- AES
- MD5
- Base64
2.AES 重点知道三件事
- key
- iv
- 模式(CBC / ECB)
3. MD5 本质
- 不可逆
- 用来做签名校验
知道这些,就已经能搞定大部分场景了。
最后的一个感受
这两次练习让我改变最大的不是技术,而是一个习惯:
以前我会绕开“复杂的点”,现在我会停下来试着拆它。
很多时候不是 JS 太难,而是我们一开始就没打算看懂它。
但只要你真的去跟一遍流程,你会发现:
它没有你想象的那么复杂。
🎁 文末福利
联系客服获取《JS加解密实战案例》
!
微信号丨Hiddenfog001
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:隐雾安全 隐雾安全 隐雾安全《【JS解密】JS解密案例分享》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。







评论