加解密

约 8 分钟读完

加解密

案例一

https://login.example.com/访问

输入测试账号,大开开发着工具,查看流量包。

image-20250708153346182

全局搜索param:

image-20250708153458536

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

image-20250708163257300

image-20250708163328121

image-20250708163348900

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

案例二

网址:https://auth.example.com/

选择账密登录

image-20250709161024306

打开开发者调试工具

image-20250709161144347

查看启动器

image-20250709161227464

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

image-20250709161824394 image-20250709161942305

执行到此处的时候发现密码已经被加密了,可以得到是在

hidetxtPassword = encrypt.encrypt($("#txtPassword").val());

发生的加密

鼠标悬停在encrypt()处

image-20250709162107487

​ 可以发现加密是在jsencrypt.min.js文件中加密,点进去查看

将此进行加密的文件保存到本地

image-20250709162244995

从刚才的步骤得知加密是在

                var encrypt = new JSEncrypt();
                encrypt.setPublicKey($("#Public_key").val());
                hidetxtPassword = encrypt.encrypt($("#txtPassword").val());

完成,在本地新建一个文件,引入刚才保存到本地的文件,

#Public_key值是公钥,可以从刚才的文件得到

image-20250709162648365

得到公钥的值:

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,可以将源文件的image-20250709165556173下载下来也保存到同目录。

成功逆向到加密手法。

← 浏览器操作与安全 在应急响应现场快速定位隐藏的恶意文件 →