加密编码算法
加密编码算法
1.前言
在渗透测试中,一般的敏感信息都会采用加密编码的方式进行处理,所以需要我们了解到常用的一些加密方式。加密解密可以通过第三方平台、工具软件、自己代码编写等方式进行。
参考加解密网站:
2.常见加密编码解析
MD5:
(https://www.sojson.com/encrypt_md5.html)
MD5是不可逆的加密方式,分为16位和32位,加密密文字符串由A-Z,0-9随机分配,80%-90%网站管理员或用户密码加采取MD5加密。
值得一提的是MD5具有解密,但是解密形式的本质其实是通过枚举的办法,所以这也导致了解密的困难性(不可逆不代表不能解密)
SHA:
(https://www.mklab.cn/utils/sha)
SHA同样是不可逆的加密方式,由A-Z,0-9随机组合,SHA1,SHA256,SHA384,SHA512长度固定
不同的编码格式,所对应的加密长度是不相同的
ASC:
(https://www.matools.com/code-convert-ascii)
进制:
(https://www.sojson.com/hexconvert.html)
数学上的进制转换,基本不会使用(毕竟用的太low了)
时间戳:
网站或者服务器经常会使用到的加密方式,以及数据库里用户登录和注销等。采用的不是常规的时间格式,而是特定的数字串。
URL:
(https://www.sojson.com/encodeurl.html)
url编码加密就是将播放地址自定义算法编码,创建私有协议的播放地址。 播放需要专用的播放器进行地址解码。 浏览器只做一次加密,在渗透绕过的时候可能会使用二次,三次加密方式。
BASE64:
(https://www.sojson.com/base64.html)
Base64是一种直接利用64位可打印字符来表示二进制数据的编码算法。大小写随机组合,在字符串后面经常出现一个或两个等号;明文越长,密文越长。常见应用与代码、密码、参数。
加密例子:大葱蘸酱最牛逼
Unescape:
(http://web.chacuo.net/charsetescape)
Escape编码/加密,就是字符对应UTF-16 16进制表示方式前面加%u。 Unescape解码/解密 ,就是去掉”%u”后,将16进制字符还原后,由utf-16转码到自己目标字符。 如:字符“中”,UTF-16BE是:“6d93”,因此Escape是“%u6d93”,反之也一样!
AES:
(https://www.mklab.cn/utils/aes)
是相对安全的加密方式,在加密的过程中涉及到了密码、偏移量、数据块、填充四种方式的随机选择和搭配,解压的难度很大。一般用base64解密出来是乱码,有很大可能是AES加密。在比较重视安全的网站和比赛中都会使用。
DES:
(https://www.sojson.com/encrypt_des.html)
DES是目前最为流行的加密算法之一。DES是对称的,也就是说它使用同一个密钥来加密和解密数据。 DES还是一种分组加密算法,该算法每次处理固定长度的数据段,称之为分组。DES分组的大小是64位,如果加密的数据长度不是64位的倍数,可以按照某种具体的规则来填充位。
3.加密形式算法解析
- 直接加密
- salt
- 密码
- 偏移
- 带位数
- 带模式
- 带干扰
- 自定义组合
- 等
4.解密方法
- 枚举
- 自定义逆向算法
- 可逆向
5.常规加密算法的特性
- 长度位数
- 字符规律
- 代码分析
- 搜索获取
- 等
6.其他相关涉及资源
http://tool.chacuo.net/cryptaes
https://ctf.bugku.com/challenges
https://www.cr173.com/soft/21692.html
https://gitee.com/ComsenzDiscuz/Discuzx
7.意义
个人理解,看似加密编码算法是密码学的知识,但是我们只需要了解相关的加密方式,在实践相关的sql注入等渗透攻击时,我们输入的并不一定是直白的代码,还需要进行一定的加密运作才能。