app请求数据解密 AES 二(aes解密在线)

2023-03-05 1:17:34 密语知识 思思

这篇文章主要介绍burp解密http请求数据插件的编写。根据上篇文章分析得到的AES加解密算法,我们要编写一个AES解密插件,将指定host的请求数据解密,并在新建的消息编辑器中显示。

一、AES解密插件用到的接口

二、解密插件的实现与使用

抓取我们过滤的特定的请求包测试

可以看到对特定的每个请求数据解密后在消息编辑器中输出

综上所述,该篇文章主要介绍了burp中自定义消息编辑器解密插件的编写。其中,我们可以依据自己的个人需求来指定需要过滤的请求,比如可以按照请求数据中包含的参数名称、请求头中包含的host、user-agent、Content-Type、请求链接url等,多个条件一起判断也可以。有需要插件源码的童鞋,可以在公众号回复" AES Decrypt2 "。

破解aes密码

算法破解就是找到加密算法的漏洞,进行技巧性的破解。

暴力破解是在知道加密算的情况下,用各种密码去测试。关于暴力破解也不是真正的暴力,有很多技术巧。如有效的密码字典就是一例。

AES目前没有算法浮出水面。

AES暴力破解与密码强度(如字串的MD5值就难,简单字串在密码字典排序告前,相对容易一些)和计算能力有关。但AES密钥长度太长,各种排列组合简直是天文数字,现有能力民间单机不可能破解。当然也可能一买彩票就中大奖,但似乎比那概率小得多。

用c#做aes加密 为什么在线解密解不了

/// summary

/// Aes解密

/// /summary

/// param name="source"源字符串/param

/// param name="key"aes密钥,长度必须32位/param

/// returns解密后的字符串/returns

public static string DecryptAes(string source, string key)

{

using (AesCryptoServiceProvider aesProvider = new AesCryptoServiceProvider())

{

aesProvider.Key = GetAesKey(key);

aesProvider.Mode = CipherMode.ECB;

aesProvider.Padding = PaddingMode.PKCS7;

using (ICryptoTransform cryptoTransform = aesProvider.CreateDecryptor())

{

byte[] inputBuffers = Convert.FromBase64String(source);

byte[] results = cryptoTransform.TransformFinalBlock(inputBuffers, 0, inputBuffers.Length);

aesProvider.Clear();

return Encoding.UTF8.GetString(results);

}

}

}

AES解密异常Given final block not properly padded

解密内容 :1243CFEBD819AA6B1C717DE870459F7B

秘钥 :

没有使用填充向量iv

AES解密异常Given final block not properly padded

原因: 解密的时候直接对输入的16进制值 1243CFEBD819AA6B1C717DE870459F7B 取getBytes了, 这样获取到的字节数组长度是16,不能直接这样操作 。

需要将16进制转字节数组,这样获取到的内容是32位,而且和之前直接获取到的字节数组不一样。

16进制转字节数组方法

这样解密之后的字符串是 在线助手 正常!!

还有一种情况是输入的字符串不正常不能解密!