Web安全-渗透测试-基础知识06
加密编码算法
在渗透测试中,常见的密码等敏感信息会采用加密处理,其中作为安全测试人员必须要了解常见的加密方式,才能为后续的安全测试做好准备
加密算法的种类
加密算法分为可逆、不可逆加密算法,而不可逆加密算法又分为对称加密和非对称加密
- 不可逆加密:不可逆加密算法最大的特点就是不需要密钥,但是HMAC是需要密钥的
常见的不可逆加密算法有MD5,HMAC,SHA1、SHA-224、SHA-256、SHA-384,和SHA-512
其中SHA-224、SHA-256、SHA-384,和SHA-512我们可以统称为SHA2加密算法
SHA加密算法的安全性要比MD5更高,而SHA2加密算法比SHA1的要高
其中SHA后面的数字表示的是加密后的字符串长度,SHA1默认会产生一个160位的信息摘要
由于这些加密都是不可逆的,因此比较常用的场景就是用户密码加密,其验证过程就是通过比较两个加密后的字符串是否一样来确认身份的网上也有很多自称是可以破解MD5密码的网站,其原理也是一样,就是有一个巨大的资源库,存放了许多字符串及对应的MD5加密后的字符串,通过你输入的MD5加密串来进行比较,如果过你的密码复杂度比较低,还是有很大机率验证出来的,也就是枚举比对 - 可逆加密:数据的加密和解密都需要使用秘钥操作
- 对称加密:常见的对称加密算法有
DES、3DES、AES128、AES192、AES256
- 非对称加密 :常见的非对称加密有RSA、SM2,RS256 (采用SHA-256 的 RSA 签名)
- Base64转码:把字符串转换成以
==
结尾的字符串,如:Z38cPD5XbiPZ41LKQmhZAw==
#常见加密编码等算法解析
MD5,SHA,ASC,进制,时间戳,URL,BASE64,Unescape,AES,DES等
#常见加密形式算法解析
直接加密,带salt,带密码,带偏移,带位数,带模式,带干扰,自定义组合等
#常见解密方式(针对)
枚举,自定义逆向算法,可逆向
#了解常规加密算法的特性
长度位数,字符规律,代码分析,搜索获取等
这里推荐一个超好用的解密网站:https://gchq.github.io/CyberChef/
各类加密算法的特点
- md5
- 16位,32位
- 不可逆
- 网站后台常用密码加密算法
- 有加密形式,如带salt
不能只是简单的密码解密,需要带salt
编码:salt
- base系列
区分大小写
链接:https://pan.baidu.com/s/1YLK4bTVCwh0jdxkchNIgSQ
提取码:ev3q
遇到类似base系列的编码直接丢工具 - unescape
- 一般是%U+四个数字对应着两个字符
- 主要运用于网站web应用
- URL编码
- URL - 统一资源定位器,是网页的地址,如:https://www.cnblogs.com/azureWW/
- URL 编码将字符转换为可通过因特网传输的格式
- URL 只能使用 ASCII 字符集 通过因特网进行发送
- URL 编码使用后跟十六进制数字的 "%" 替代不安全的 ASCII 字符,如空格用%20代替
- AES
- https://tool.lmeee.com/jiami/aes
包括加密模式,填充,密钥长度,密钥,偏移量,输出 - 加密结果和base64很像
如果在解密时base64行不通就可以试试aes,前提是要知道aes的相关信息
- DES
- https://tool.lmeee.com/jiami/aes
- 加密结果和base64很像
如果在解密时base64行不通就可以试试des,前提是要知道des的相关信息
- 时间戳
- https://tool.lu/timestamp/
声明:本文只供参考学习,如有误导请纠正