在渗透测试中,常见密码等敏感信息会采用加密处理,其中作为安全测试人员必须要了解常见加密方式,才能为后续安全测试做好准备,本次课程讲解各种加密汇编等知识,便于后期的学习与发展。
常见加解密编码等算法解析
MD5,SHA,ASCii,进制,Unix时间戳,URL,BASE64,Unescape,AES,DES等。
我们来一 一了解与学习!
MD5解密加密: 16位与32位(特别常见,就不解释了)
SHA解密加密: SHA1,SHA256,SHA384,SHA512
ASCii加密解密
时间戳: 在数据库中记录时间方式使用较多。
URL(编码): “空格”=%20,”单引号“=%23,#=%23等等,一般常用于字节绕过等等,不多解释,这个笔记常见。
BASE64(编码) :大小写混编,后面经常会有等于号,十分明显,常用于web参数值等编码。
Unescape(编码) :与url编码较为相似,%开头。
AES:很多大站已经使用这种加密,例如中国电信。
与base64十分相似,但是用base64解密出来会是乱码,ASE通常还会加入密码和偏移量,如果我们需要解密,则需要知道这两个条件对应的值。
DES: 输出结果与base64相似,加密方式和AES相似,但它的解密后通常会有一个加号,比较明显。
简单总结
#常见加密形式算法解析
直接加密,带上salt,带上密码,带上偏移,带数位,带模式,带干扰,自定义组合等等
#常见解密方式(针对)
枚举,自定义逆向算法,可逆向
#了解常见的加密算法特征
长度位数,字符规律,代码分析,搜索获取。
PART1.案例1解读
对常见加密解密有了一点了解之后,我们就来看几个简单例子,再次加深理解与扩展思路。
✪CMS密码加密解密(dz,wp等论坛)
#MD5+salt
我们去dz论坛的数据库,pre_ucenter_members表中查看保存的管理员密码。
它的密码看起来是不是很像md5加密,我们去解密试试。
虽然解密出来了,但是这个并不是我们的密码。
我们再仔细看看刚才的表,我们会发现salt,对应的值是fbff52。
所以它的加密方式是MD5+salt一起加密的,解密也十分简单,解密类型md5(md5(salt),先对密码进行md5加密,然后用密码的md5值加salt进行再次加密。
PART2.
案例2解读
#墨者学院靶场地址:www.mozhe.cn/
根据靶场平台给我们的信息,要求我们掌握的目标:
掌握信息泄露方式;了解AES加密解密;了解php基本语法;掌握sql手工注入;了解mysql数据库结构;
第一步:使用目录扫描工具对网站进行扫描,发现有这样一个页面
第二步:打开泄露文件,打开查看
打开之后是这样的,一个对参数加密的过程,我们知道AES加密一般会有密码和偏移两个参数,但这次加密我们会接触到几个其他选项,如下图:
所以,我们现在知道了它对参数的加密方式,我们就可以解出网站URL:http://219.153.49.228:47574/news/list.php?id=ZUlJOGMzSmVMMHQwZHhNN3diM056Zz09中,id的参数
由于程序对id值进行两次加密,所以我们先要解密一次,得到
eII8c3JeL0t0dxM7wb3Nzg==
接下来我们就将它放进解密平台,输入我们刚刚看到的各参数的值
得到值为1_mozhe,这个id看起来是不是感觉不是特别自然,这时候我们再去源码中看看,我们就会发现这样一个语句,将_mozhe过滤掉了。
这里我们就明白了,id真正的值,实际是1。
所以我们在注入时,要在注入语句后面加上_mozhe,然后按照各参数值进行加密,得到值后再进行一次base64加密,这样我们就得到了可以被这个web网站识别的注入语句。
#使用的ASE解密网站:https://tool.lmeee.com/jiami/aes