加密编码算法
前言
在渗透测试中,常见的密码等敏感信息会采用加密处理,其中作为安全测试人员必须要了解常见的加密方式,才能为后续的安全测试做好准备。
常见加密编码等算法解析
MD5,SHA,ASC,进制,时间戳,URL,BASE64,Unescape,AES,DES等
1.MD5(不可逆)
16位和32位加密密文字符串由A-Z,0-9随机分配,80%网站管理员或用户密码加密采取MD5加密。(不可逆)
网上的MD5在线工具,他的解密过程是用了枚举方法
2.SHA
由A-Z,0-9随机组合,SHA1,SHA256,SHA384,SHA512长度固定。(不可逆)
3.进制
16进制加密
4.时间戳
网站或者服务器脚本语言里经常会使用,会在数据库里用户登录和注销,注册里会使用
5.URL
浏览器只做一次加密,在渗透绕过的时候可能会使用二次、三次加密方式
6.BASE64
大小写随机组合,在字符串后面经常出现一个或两个等号
明文越长,密文越长
常见应用:代码、密码、参数
浏览器只做一次加密,在渗透绕过的时候可能会使用二次、三次加密方式
7.unescape
%u+4位数字,对应两位字符,主要应用WEB应用上
8.AES
是一种安全的加密方式,涉及到密码,偏移量,数据块,填充,在加密时候涉及到4种随机性。解密难度大。用base64解密出来是乱码,有很大可能是AES加密。有时候出现在字符串里面。比较注重安全和大型网站、安全比赛
注:必须有密码和偏移量,否则无法进行解密
9.DES
类似于BASE64,有时候+会出现在字符串里
常见加密形式算法解析
直接加密,带salt,带密码,带偏移,带位数,带模式,带干扰,自定义组合等
常见加密方式
枚举,自定义逆向算法,可逆向
了解常规加密算法的特性
长度位数,字符规律,代码分析,搜索获取等
涉及在线工具
http://www.jsons.cn/desencrypt/
https://www.cmd5.com/
https://tool.lu/timestamp/
http://tool.chacuo.net/cryptaes
http://tools.jb51.net/password/des_encode
http://encode.chahuo.com/
演示:SQL注入漏洞测试(参数加密)
1.进入题目
2.使用御剑扫描该IP
3.在浏览器中输入该URL,发现使用PHP文件
4.访问该URL,下载压缩包并解压
5.得到解密源码
6.审计源码,发现是由两次base64加密得到。
一次base64解密,
7.二次base64解密:
选中对应模式:
AES加密模式:CBC、数据块:128位、密码:ydhaqPQnexoaDuW3、偏移量:2018201920202021
解密得出:1_mozhe
8.审计代码,最终得出值为:1
9.在SQL注入时,要将1 and 1=1或者其他payload共同按格式加密之后才可以进行