【2021-12-04】开胃菜:CryptoJS-AES解密逆向实战分析

该博客详细介绍了网站登录过程中使用AES算法进行参数和返回数据的加密过程。通过开发者工具观察加密参数和解密流程,揭示了AES加密的实现方式,包括利用手机号、密码和时间戳组合加密,并探讨了解密方法,涉及Node.js和Python的实现。同时,提到了MD5的使用。
摘要由CSDN通过智能技术生成

        网站地址:aHR0cHM6Ly93ZWIueWlzaGVuZ3poYW4uY24vIy9ob21l(网搜base64解密)

 

        此网站参数加密,返回值同样加密,都是利用AES算法对请求和返回数据加密,很有意思。

        打开开发者工具NetWork选项,首先输入手机号,再输入错误的密码,可以看出参数加密:

加密参数:

返回数据:

按住快捷键:Ctrl+Shift+F,输入md5,搜索出这个位置,点击进入:

 搜索md5,打上断点,重新点击登录按钮,可以看出已经被断住:

加密流程很容易可以判断出是对一些固定字符串加手机号,密码,时间戳组合成一块进行AES加密,AES加密是一种前端加密方式,加密算法固定,有二种解决方式:

一,安装Node环境,通过npm install crypto-js --save安装加密库,在js文件里面导入即可。

 key是密钥,data是待加密字段,需要注意的是密钥的长度,由于对称解密使用的算法是 AES-128-CBC算法,数据采用 PKCS#7 填充 , 因此这里的 key 需要为16位!

加密结果如下:

二,可以直接使用python实现的aes算法,这个github上有很多。

另一个参数md5是由CryptoJS.MD5(JSON.stringify(obj)).toString()得到,python可以直接调用hashlib去获取数据

 解密是对服务器返回的加密数据进行解密,然后再展现到网站上,解密算法同样是采用了AES解密。使用同一个密钥key。

打断点,调试,直接把下面截图里面的代码复制就行:

 运行结果如下:

AES加解密分析结束~~~ 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙猫不打伞

感谢打赏,天道酬勤!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值