长亭百川云 - 文章详情

如何在aes加密中获取密钥

迪哥讲事

48

2024-07-25

欢迎转发,请勿抄袭    

        在某次渗透过程中,发现数据传输过程使用了aes加密。前后多次调试,没有见到明文密钥。后面发现使用了某个方法返回了一串数组方式。再通过数组还原成用于字符串加解密。同时发现惊天开发修复漏洞的逆天行为,每次修复漏洞,只是把密钥更换为更复杂的获取方式。让你解密不了数据包,以此达到你无法复测。那么分享一下如何快速获取密钥~

1

方式一

1、使用CryptoJS.enc.Utf8.stringify();方法能快速还原密钥。

先在js文件下断点到CryptoJS.AES.encrypt()。直接在js文件全搜索encrypt。

2、当到达断点位置时,使用上面的方法还原。构造后得到:

n.enc.Utf8.stringify(n.enc.Utf8.parse(i.get("version1")));
n.enc.Utf8.stringify(n.enc.Utf8.parse(i.get("version2")));

3、通过调试窗口,获取明文。

2

方式二

1、通过

CryptoJS.lib.WordArray.create([]).toString(CryptoJS.enc.Utf8))将数组进行还原。可在外部调试,也是先在js文件下断点到CryptoJS.AES.encrypt()。直接在js文件全搜索encrypt。

2、当到达断点位置时,先调试窗口打印出来,也可以通过右边的变量复制出来。

3、使用上面的方法,拼接得到

n.lib.WordArray.create([1146107734,1987719217,842216501,909588537]).toString(n.enc.Utf8);并在调试窗执行获取明文

3

方式三

1、使用工具进行还原,打开aeskiller,回复aeskiller获取软件

2、根据第二种方式获取数组

如果你是一个长期主义者,欢迎加入我的知识星球,我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款
前面有同学问我有没优惠券,这里发放100张100元的优惠券,用完今年不再发放

往期回顾

dom-xss精选文章

年度精选文章

Nuclei权威指南-如何躺赚

漏洞赏金猎人系列-如何测试设置功能IV

漏洞赏金猎人系列-如何测试注册功能以及相关Tips

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2