加解密
加解密
案例一
输入测试账号,大开开发着工具,查看流量包。

全局搜索param:

如果搜索到多个结果,可以对比启动器,找到符合的一个



- 加密配置
- 算法:AES(默认密钥长度取决于
e的长度,如 16/24/32 字节对应 AES-128/192/256)。 - 模式:CBC(需要 IV,这里 IV = Key)。
- 填充:ZeroPadding(数据末尾补
\x00直到块对齐)。
- 算法:AES(默认密钥长度取决于
案例二
选择账密登录

打开开发者调试工具

查看启动器

猜测加密过程实现的步骤可能在这个位置,查看进行断点调试,进入login:755处的位置

执行到此处的时候发现密码已经被加密了,可以得到是在
hidetxtPassword = encrypt.encrypt($("#txtPassword").val());
发生的加密
鼠标悬停在encrypt()处

可以发现加密是在jsencrypt.min.js文件中加密,点进去查看
将此进行加密的文件保存到本地

从刚才的步骤得知加密是在
var encrypt = new JSEncrypt();
encrypt.setPublicKey($("#Public_key").val());
hidetxtPassword = encrypt.encrypt($("#txtPassword").val());完成,在本地新建一个文件,引入刚才保存到本地的文件,
#Public_key值是公钥,可以从刚才的文件得到

得到公钥的值:
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAynjrCVuQRQscFBs+f9MBN6HA7ES9E/elS8wyJspi/N0dBXPmimgtdvDV/QI4BkE4irvM0vMJIEZzQJ22TEimD0oi4e9aMF5u+82/oIFEaCuAkdpxuF9XWfC5HNFivRzdMaX80UOajOkx+8cVjaiaXxR9KFFkJwyHv88v0B08vJHaSpP7igSJAAon0htj43JwZSNDQWQNkkw18zISGKASIz9ZNik00CAWXNEnkOq7bLClcp4yH4gGz/USf0PJimTWjfDLNRhvdwn9YlZpjepQTPux3BWzhBu1pMB0QtZd1SKxLMsrMV9yn9TUIVllg1B8eE+f1fbyZfS+SwQAE6u+xQIDAQAB
在保存文件的同目录创建html文件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>RSA 加密测试</title>
<script src="./jquery-1.10.2.min.js"></script>
<script src="jsencrypt.min.js"></script>
</head>
<body>
<textarea id="Public_key" style="display:none;">MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAynjrCVuQRQscFBs+f9MBN6HA7ES9E/elS8wyJspi/N0dBXPmimgtdvDV/QI4BkE4irvM0vMJIEZzQJ22TEimD0oi4e9aMF5u+82/oIFEaCuAkdpxuF9XWfC5HNFivRzdMaX80UOajOkx+8cVjaiaXxR9KFFkJwyHv88v0B08vJHaSpP7igSJAAon0htj43JwZSNDQWQNkkw18zISGKASIz9ZNik00CAWXNEnkOq7bLClcp4yH4gGz/USf0PJimTWjfDLNRhvdwn9YlZpjepQTPux3BWzhBu1pMB0QtZd1SKxLMsrMV9yn9TUIVllg1B8eE+f1fbyZfS+SwQAE6u+xQIDAQAB</textarea>
<!-- -->
<input type="text" id="txtPassword" value="111" />
<script>
var encrypt = new JSEncrypt();
encrypt.setPublicKey($("#Public_key").val());
var hidetxtPassword = encrypt.encrypt($("#txtPassword").val());
console.log("加密结果:", hidetxtPassword);
</script>
</body>
</html>
由于需要使用到jquery,可以将源文件的
下载下来也保存到同目录。
成功逆向到加密手法。