2.基础入门-加密编码算法
-
1.意义:在渗透测试中,常见的密码等敏感信息会采用加密处理,其中作为安全测试人员必须要了解常见的加密方式,才能为后续的安全测试做好准备
-
常见加密编码等算法解析:
-
MD5:有16位和32位两种,不存在逆向,但可以通过枚举 的方式破解,破解平台:cmd5.com,cmd5.com
-
SHA:SHA1:40 SHA224:56 SHA256:64 SHA512:128
-
进制转换
-
时间戳:时间戳是使用数字签名技术产生的数据,签名的对象包括了原始文件信息、签名参数、签名时间等信息
-
-
URL:url编码是一种浏览器用来打包表单输入的格式,浏览器会将中文,字符,空格等自动进行url编码,会有明显的“%”
-
BASE64:base64没有固定长度,明文长度越长,密文长度也越长。base64会有特别明显的“=”
- Unescape:escape加密方法,采用拉丁(latin)字符集对指定的字符串进行加密编码,字符串内的所有的空格字符、标点符号、特殊字符以及其他非ASCII字符(Unicode、utf-8、gb2312、big5等编码字符)都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字),escape一般用于传递URL参数,和urlencode/base64_encode函数是类似的
-
AES:非对称密码,解密时必须要获取到密码和偏移量才能进行破解
-
DES:是常见的单钥对称加密算法之一,解密时必须要获取到密码才能进行破解
-
3.常见加密形式算法解析:
- 直接加密,带 salt,带密码,带偏移,带位数,带模式,带干扰,自定义组合等
-
-
4.常见解密方式
- 枚举,自定义逆向算法,可逆向
-
补充:
在进行渗透测试时,发现某些参数被加密了,此时如果想注入payload,payload也必须加密
-
例如?id=MQ== 通过分析得知MQ==是1被base64加密的结果,此时如果想提交 and 1=1 ,也必须经过base64加密,?id=MSBhbmQgMT0x
-
当发现base64或者16进制编码的结果解密后仍然是中文乱码形式,就需要考虑是否是AES加密,AES加密后的结果一般会转换成base64或16进制的形式传输
-