网站地址: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加解密分析结束~~~