以下文章来源于咸鱼学Python,作者煌金的咸鱼
上次咸鱼对关于 AES 的JS加密方法做了总结,这次把咸鱼遇到的 AES 的案例做了汇总,这个汇总系列会持续更新,攒到一定数量的网站就发一次。
关于 AES 的处理可以参考下面这篇文章:
aHR0cHM6Ly90aWFuYXcuOTU1MDUuY24vdGFjcGMvIy9sb2dpbg==
抓包分析,分析加密字段 jsonKey
直接全局搜索 jsonKey
,可以看到只有一个相关的文件
点开搜索的结果继续检索,找到疑似定位的地方,打上断点继续发起请求。
成功打上断点,可以看到这个变量V
的生成是个很标准的 AES 加密,使用的是 CBC 的填充方式。
aHR0cDovL2xvZ2luLjE4OS5jbi93ZWIvbG9naW4=
抓包分析,可以看到加密参数 upwd
全局直接检索 upwd
这个加密参数
根据搜索的结果直接追进去再次检索。
可以看到变量 b
就是我们需要的加密结果,但是这里的 b
明显不好定位,既然这个 b 是 ValidatePwd
的参数,我们直接检索这个方法名试试。
这里就是我们密码传入的地方了,我们再追进去看看逻辑。
这就是比较明显的 AES 加密了。
aHR0cHM6Ly9ob3RlbC5iZXN0d2Vob3RlbC5jb20vTmV3TG9naW4vP2dvPWh0dHBzJTNBJTJGJTJGaG90ZWwuYmVzdHdlaG90ZWwuY29tJTJG
提交的参数中有加密参数 password
直接检索加密参数password
可以找到好多加密相关的参数项,而且和加密的参数没有强相关。
终于在下面这个文件找到了密码加密相关的代码。
追进文件再次检索,找到疑似加密的地方打上断点。
重新请求成功断上了。
再往里追两步就看到这个 AES 加密了。
以上 3 个案例都是使用 AES加密 的结果,AES 主要注意的还是他的填充方式和秘钥,还有就是定位的步骤比较麻烦,其他的扣取难度都是很适合新手的。
EOF