前言
在渗透测试中,常见的密码等敏感信息会采用加密处理,其中作为安全测试人员必须要了解常见的加密方式,才能为后续的安全测试做好准备,本次课程将讲解各种加密编码等知识,便于后期的学习和发展。
一、常见加密编码等算法解析
1、MD5(0-9,a-z):使用最多的,可以通过CMD5进行解密;
2、SHA(0-9,a-z):分为SHA356/384/512,字符越大长度越长;
3、ASC
4、进制
5、时间戳:以计算机的时间为基础进行多样化加密,网站、服务器、脚本语言里经常使用;
6、URL:访问网站的时候网址的地址信息,链接里面%后面有0-9、a-z且为两位的时候,就表示是一个url编码。
格式:%xx
注:url有两个三个%的时候很有可能是两次加密。
7、BASE64(0-9,a-z):区分大小写,长度随明文的长度进行增加,为大小写和数字的随机组合
注:BASE64经常会在字符串的后面出现==或=。
8、Unescape:每一段密文(%uxx)对应明文的两个字符。
格式:%uxx
9、AES:可以选择填充、数据块、密码、偏移量
填充:选择填充方式
数据块:选择数据块大小,数据块越大加密强度越大
密码:密文加上另外的密码进行加密
偏移量:开始加密的字符位置
注:AES的输出还会进行一次BASE64的加密,如果base64解密出来不合理,可以尝试AES解密。
10、DES:有密码、参数一、参数二。
二、常见加密形式算法解析
直接加密,带salt,带密码,带偏移,带位数,带模式,带干扰,自定义组合等
三、常见解密方式(针对)
枚举,自定义逆向算法,可逆向
CMD5解密原理:用明文进行挨个加密,然后根据加密的密文跟客户提交的密文比对,如果相同则可以解密。
四、了解常规加密算法的特性
长度位数,字符规律,代码分析,搜索获取等
五、演示案例
1、某CTF比赛题目解析
#脚本自定义算法组合逆向
2、某CMS密码加密解密
#MD5+salt
#部分CMS密码加密形式-wp,dz等
3、某URL加密地址的漏洞测试
#AES+Base64+自定义
#观察参数值加密字符串,下载源代码分析,函数定义AES加密,涉及模式CBC,128位,加密密码,偏移量,两次base64减去常规一次,填充模式。(_mozhe)
ZUlJOGMzSmVMMHQwZHhNN3diM056Zz09
eII8c3JeL0t0dxM7wb3Nzg==
4、某实际应用URL地址参数加密
#搜素特定关键字加密字符串
inurl:id=MQ==:搜索网站地址里面带有id=MQ==的网址
小迪:找不到注入点不是说对方没有注入点,而是你太菜了。
六、涉及资源:
https://www.mozhe.cn
https://www.cmd5.com
http://tool.chacuo.net/cryptaes
https://ctf.bugku.com/challenges
https://www.cr173.com/soft/21692.html
https://gitee.com/ComsenzDiscuz/DiscuzX