如何在aes加密中获取密钥
2024-7-22 23:25:52 Author: mp.weixin.qq.com(查看原文) 阅读量:6 收藏

欢迎转发,请勿抄袭    

        在某次渗透过程中,发现数据传输过程使用了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


文章来源: https://mp.weixin.qq.com/s?__biz=MzIzMTIzNTM0MA==&mid=2247495330&idx=1&sn=fa1180f4befdf2d178ede06f7c879819&chksm=e8a5e4c1dfd26dd7b690cdce38470880060cdbd0b9590fe0abab5cd9bfd2f1c385fdc5a470a6&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh