一.存储密码加密-Web&数据库&系统

MD5 SHA1 NTLM AES DES RC4

  • MD5 值是 32 或 16 位位由数字”0-9”和字母”a-f”所组成的字符串,大小写不敏感,不可逆,解密采用枚举碰撞(尝试生成很多的加密或对应明文的字符去枚举)

    md5在线解密平台:https://cmd5.com/

  • SHA1 这种加密的密文特征跟 MD5 差不多,只不过位数是 40

  • NTLM 这种加密是 Windows 的哈希密码,标准通讯安全协议

  • AES,DES,RC4 这些都是非对称性加密算法,引入密钥,密文特征与 Base64 类似

应用场景:各类应用密文,自定义算法,代码分析,CTF 安全比赛等

识别算法编码类型(只是大概猜):

1.看位数

2.看密文的特征(数字,字母,大小写,符号等)

3.看当前密文存在的地方(WEB,数据库,操作系统等应用)

二.传输数据编码

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&PHP&NET&JAVA

1.JS 前端代码加密

JS 颜文字 jother JSFUCK

  • 颜文字特征:一堆颜文字构成的 js 代码,在 F12 中可直接解密执行

  • jother 特征:只用! + ( ) [ ] { }这八个字符就能完成对任意字符串的编码。也可在 F12 中解密执行

  • JSFUCK 特征:与 jother 很像,只是少了{ }

2.后端代码加密

PHP .NET JAVA

  • PHP:乱码,头部有信息

  • .NET:DLL 封装代码文件

  • JAVA:JAR&CLASS 文件

举例:Zend ILSpy IDEA

应用场景:版权代码加密,开发特性,CTF 比赛,绕过waf等

3.数据库密文加密

MYSQL MSSQL 等

四.数据显示编码-字符串数据显示编码

数据显示编码:

UTF-8 GBK2312 等

识别算法编码类型:

看密文位数

2、看密文的特征(数字,字母,大小写,符号等)

3、看当前密文存在的地方(Web,数据库,操作系统等应用)

五.实际案例

1.Web-ZZCMS-密文-MD5

注册一个账号,看看密码的加密,可以看到是32位而且是应用在WEB上,大致猜测是MD5

image-20240807142924769

2.Web-Discuz-密文-MD5&Salt

discuz的加密是MD5和Salt值结合

这种MD5和Salt结合的,解密在密文后面加冒号:然后跟上盐值,如图

image-20240807144157714

3.系统-Windows-密文-NTLM&HASH

4.综合-参数-密文传输-AES&BASE64

下图可见mcrypt_module_open,百度上搜索知道这个函数是AES加密,里面函数值128对应数据块,后面CBC对应AES加密模式,下面mcrypt_generic_init函数里面的第二个值是密码,第三个数值是偏移量(不知道的就上网搜),下面有两个base64_decode,也就是进行了两次base64解码

image-20240807150431806

所以,要解码两次,具体操作:

image-20240807150939764

5. 代码-解密-解密反编译-Zend&Dll&Ja

可以用IlSpy来解密dll

6.CTF 赛题-buuoj-single dog-JS 颜文字

下载试题

解读,找到两个文件

解压出来,很显然是JS颜文字

可以这个网站破译:http://www.hiencode.com/

7.CTF 赛题-xuenixiang-Jsfuck-JSFUCK

六.补充点和网站

#补充点:

1.常见加密编码进制等算法解析

MD5,SHA,ASC,进制,时间戳,URL,BASE64,Unescape,AES,DES 等

2.常见加密编码形式算法解析

直接加密,带 salt,带密码,带偏移,带位数,带模式,带干扰,自定义组合等

3.常见解密解码方式(针对)

枚举,自定义逆向算法,可逆向

4.常见加密解码算法的特性

长度位数,字符规律,代码分析,搜索获取等

#拓展补充参考资料(重要):

https://www.cmd5.com 破解加密工具

http://tmxk.org/jother

http://www.jsfuck.com

http://www.hiencode.com ctf在线工具

http://tool.chacuo.net/cryptaes

https://utf-8.jp/public/aaencode.html

1.30 余种加密编码类型的密文特征分析(建议收藏)

https://mp.weixin.qq.com/s?__biz=MzAwNDcxMjI2MA==&mid=2247484455&idx=1&sn=e1b4324ddcf7d6123be30d9a5613e17b&chksm=9b26f60cac517f1a920cf3b73b3212a645aeef78882c47957b9f3c2135cb7ce051c73fe77bb2&mpshare=1&scene=23&srcid=1111auAYWmr1N0NAs9Wp2hGz&sharer_sharetime=1605145141579&sharer_shareid=5051b3eddbbe2cb698aedf9452370026#rd

2.CTF 中常见密码题解密网站总结(建议收藏)

https://blog.csdn.net/qq_41638851/article/details/100526839

3.CTF 密码学常见加密解密总结(建议收藏)

https://blog.csdn.net/qq_40837276/article/details/83080460

课后梳理:

了解储存密码加密方式、比传输数据编码方式、代码加密方式并能够识别

会在上面的基础上充分利用网站解码