知识点:
1、存储密码加密-Web&数据库&系统
2、传输数据编码-各类组合传输参数值
3、代码特性加密、JS&PHP&NET&JAVA
4、数据显示编码-字符串数据显示编码
本课意义:
1、了解加密编码进制在安全测试中的存在
2、掌握常见的加密解密编码解码进制互转的操作
3、了解常见的加密解密编码解密进制互转的影响
旨在解决类似疑问,提供思路:
你是否碰到不知道的加密方式?
你是否碰到无法找到的解密平台?
你是否碰到不知道如何解密的字符串?
你是否准备参加CTF比赛补充此类知识点?
详细点
密码存储加密:
MD5 SHA1 NTLM AES DES RC4
MD5值是32位或16位由数字“0-9”和字母“a-f”所组成的字符串
SHA1这种加密的密文特征和MD5差不多,只不过位数是40
NTLM这种加密是Windows的哈希密码,标准通讯安全协议
AES,DES,RC4这些都是对称性加密算法,引入密钥,密文特征与Base64类似
应用场景:各类应用密文,自定义算法,代码分析,CTF安全比赛等。
传输数据编码:
Base64 URL HEX ASCII
BASE64值是由数字“0-9”和字母“a-f”所组成的字符串,大小写敏感,结尾通常有符号=
URL编码是由数字“0-9”和字母“a-f”所组成的字符串,大小写敏感,通常以%数字字母间隔
HEX编码是计算机中数据的一种表示方法,将数据进行十六进制转换,它由0-9,A-F,组成
ASCII编码是将128个字符进行进制数来表示,常见ASCII码表大小规则:09<AZ<a~Z
举例:
个人博客-URL解码
国外WEB-BASE64解码
搜狐视频-BASE64解码
应用场景:参数传递(如注入影响),后期WAF绕过干扰写法应用,视频地址还原等。
JS前端代码加密:
JS颜文字 jother JSFUCK
颜文字特征:一堆颜文字构成的js代码,在F12中可直接解密执行
jother特征:只用!÷ ( ) [ ] { } 这八个字符就能完成对任意字符串的编码。也可在F12中解密执行
JSFUCK特征:与jother很像,只是少了{ }
后端代码加密:
PHP .NET JAVA
PHP:乱码,头部有信息
.NET:DLL封装代码文件
JAVA:JAR&CLASS文件
举例:Zend ILSpy IDEA
应用场景:版权代码加密,开发特性,CTF比赛等
数据库密文加密:
MYSQL,MSSQL等
数据显示编码:
UTF-8 GBK2312等
识别算法编码类型:
1、看位数
2、看密文的特征(数字,字母,大小写,符号等)
3、看当前密文存在的地方(WEB,数据库,操作系统等应用)
复现
演示案例:
Web-ZZCMS-密文-MD5
Web-Discuz-密文-MD5&Salt
系统-Windows-密文-NTLM&HASH
综合-参数-密文传输-AES&BASE64
CTF赛题-buuoj-single dog-JS颜文字
CTF赛题-xuenixiang-Jsfuck-JSFUCK
1、Web-ZZCMS-密文-MD5
phpstudy搭建环境后,在本地的网站里注册一个账号,连接数据库后,在表单的zzcms_user一栏里看到了自己最新注册的账号。
可以看到密码进入数据库后被自动加密了,我们尝试去网站进行解密操作
设置的简单密码被网站直接解密出来了,但是小迪演示的那个密码xiao8是要会员才能查询的,不想充钱了,所以密码设简单点
PS:如果密文足够的复杂的话,网站是很难解密出来的。这就是加密的意义
2、Web-Discuz-密文-MD5&Salt
记录搭网站时候踩的坑:
他说要将压缩包里upload目录内的文件上传到域名绑定的目录中,不能直接把upload放进去,而是要把upload文件夹剥掉,把里面的东西放进去……其实以前也遇到过,但是就是不长记性。
在这张表里发现了我刚刚注册的用户和被加密过的密码,这个密码的原文就是123456
Discuz论坛的加密方式
你正常查是查不到的,得知道它的算法后再查
成功查到密码是admin
3、系统-Windows-密文-NTLM&HASH
坑:要以管理员权限运行mimikatz才可以抓取密码
由于我刚装的虚拟机,还没有设置密码呢,所以密码那里写的null……
4、综合-参数-密文传输-AES&BASE64
就简单的aes和base64
5、CTF赛题-buuoj-single dog-JS颜文字
拿到一张图片,先用foremost提取文件
得到一个压缩包,解压后里面的txt文件是JS颜文字,找网站解密
1 | aaencode是一种基于JavaScript的文本加密工具。其原理主要是通过执行混淆算法,将可执行的代码转换成为ASCII字符形式的字符串,并在字符串中插入一些不可见字符、注释以及字符串操作指令指令。 |
直接一把梭得到flag SUCTF{happy double eleven}
6、CTF赛题-xuenixiang-Jsfuck-JSFUCK
查看网页源代码发现一串JSFUCK的字符
找个网站运行一下,找到flag ctf{whatfk}