小迪安全笔记_第4天|扩展&整理|30+种加密编码进制全解析:特点、用处与实战识别指南|小迪安全笔记|网络安全|

30+种加密编码进制全解析:特点、用处与实战识别指南

本文基于小迪安全第4天课程整理,涵盖30余种常见加密编码的特征识别、应用场景及实战技巧。无论你是渗透测试新手还是CTF参赛者,本文都将助你快速掌握编码识别的核心方法。


一、为什么你需要掌握编码识别?

在安全攻防中,识别加密/编码方式是突破的第一步 。无论是Web渗透、CTF解题还是代码审计,都离不开对编码特征的快速判断。本文将为你梳理最常用、最易混淆的编码类型,助你告别"看到乱码就懵"的尴尬。

核心原则
"看长度、看字符、看场景" ------ 三步快速识别


二、编码识别三要素(实战必看)

识别要素 说明 举例
长度 密文长度是判断的关键指标 32位 → MD5/NTLM,40位 → SHA1
字符组成 字符范围决定编码类型 a-f0-9 → Hex/Hash,+/= → Base64
应用场景 密文出现位置决定加密方式 数据库密码 → MD5/NTLM,URL参数 → Base64

三、常见编码方式详解(附实战技巧)

1. MD5:最基础的哈希算法

特点

  • 32位十六进制字符串(0-9a-f)
  • 大小写不敏感(e10adc39...E10ADC39...等价)
  • 不可逆(但可通过彩虹表碰撞破解)

应用场景

  • Web系统密码存储(已淘汰,应使用bcrypt)
  • 文件完整性校验

实战识别

text 复制代码
e44c4fe615aeba54e44c4fe615aeba54  # 32位,仅含0-9a-f

💡 避坑提示 :MD5不能用于密码存储!CTF中常用于"弱密码"题。


2. SHA1:MD5的升级版

特点

  • 40位十六进制字符串
  • 与MD5相似但更安全(但同样不可逆)

应用场景

  • 旧版数字签名
  • Git版本控制

实战识别

text 复制代码
7c4a8d09ca3762af61e59520943dc26494f8941b  # 40位

💡 对比:SHA1比MD5长8位,但同样不推荐用于密码存储。


3. NTLM:Windows系统密码哈希

特点

  • 32位十六进制字符串
  • Windows系统默认密码哈希格式
  • 常见于mimikatz输出(如ccef208c...

应用场景

  • Windows域认证
  • Active Directory攻击

实战识别

text 复制代码
ccef208c6485269c20db2cad21734fe7  # 以"ccef"开头(Windows特征)

💡 实战技巧 :使用mimikatz提取NTLM哈希,再用Hashcat破解。


4. Base64:数据传输的"编码器"

特点

  • 字符集:A-Z, a-z, 0-9, +, /
  • 结尾常以===结尾
  • 可逆(不是加密,只是编码)

应用场景

  • Web Token传输(JWT)
  • 图片二进制嵌入(如data:image/png;base64,...
  • CTF参数隐藏

实战识别

text 复制代码
aGVsbG8=  # 6字符,结尾有=

💡 关键点 :Base64不是加密 !看到=就先尝试解码。


5. URL编码:URL中的"翻译官"

特点

  • %开头 + 2位十六进制(如%20
  • 保留特殊字符(空格→%20,中文→%E4%B8%AD

应用场景

  • URL参数传递(防止?name=张三被破坏)
  • SQL注入绕过(如%27代替单引号)

实战识别

text 复制代码
%E4%B8%AD%E6%96%87  # 中文"中文"的URL编码

💡 实战技巧:浏览器中右键"编码"选项可切换,解决乱码问题。


6. HEX编码:二进制的"十六进制表示"

特点

  • 仅含0-9a-f(不区分大小写)
  • 每个字节转为2个十六进制字符

应用场景

  • 数据库存储(如MySQL的二进制字段)
  • 内存dump分析

实战识别

text 复制代码
414243  # "ABC"的HEX编码

💡 对比 :HEX与MD5/SHA1的区别在于没有特殊字符,仅含0-9a-f。


7. JSFuck:前端代码的"混淆神器"

特点

  • 仅使用6个字符:[ ] ( ) ! +
  • 无字母数字,全符号构成

应用场景

  • CTF前端混淆题
  • JS代码版权保护

实战识别

text 复制代码
[][(![]+[])[!+[]+!+[]+!+[]]+([]+[])[+[]]+(!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]]

💡 解密工具JSFuck解码器


8. AAEncode(颜文字加密):CTF中的"趣味题"

特点

  • 大量日式颜文字/表情符号
  • []为分隔符

应用场景

  • CTF竞赛(如2018年"双11快乐"题)
  • 前端代码混淆

实战识别

text 复制代码
( ゚∀゚) ノ

💡 解密工具:在线AAEncode解密平台


9. AES加密:对称加密的"安全卫士"

特点

  • 密文常呈Base64格式
  • 需密钥 + 偏移量 + 模式(如CBC)
  • 常与Base64组合使用(如U2FsdGVkX1...

应用场景

  • 网站敏感数据加密(支付信息、用户数据)
  • CTF密码学题

实战识别

text 复制代码
U2FsdGVkX1...  # 以"U2FsdGVkX1"开头(AES加密特征)

💡 关键点:没有密钥和偏移量,无法解密!CTF中常需从源码获取。


四、编码识别实战流程图

32位
40位
长且含=
含%xx
0-9a-f
ccef开头
数据库
Windows
看到密文
长度?
MD5/NTLM
SHA1
Base64
URL编码
字符?
MD5/NTLM
NTLM
场景?
MD5
NTLM


五、学习建议:从"会识别"到"会应用"

  1. 先练基础:熟练掌握Base64、URL编码、MD5/SHA1的识别
  2. 实战验证 :用CyberChef快速验证
  3. CTF优先:重点攻克CTF中高频出现的编码(Base64、MD5、JSFuck)
  4. 避免误区
    • ❌ MD5用于密码存储(已淘汰)
    • ❌ Base64视为加密(只是编码)
    • ❌ 无密钥尝试破解AES

六、总结:记住这3句话

"32位MD5/NTLM,40位SHA1,64位SHA256;
Base64带=,URL带%,Hex无符号,JSFuck全符号!"
"MD5存密码?漏洞在手!
Base64当加密?直接解码走!
NTLM看ccef,SHA256更安全!"


七、附:编码识别速查表

编码类型 长度 字符特征 常见场景
MD5 32位 0-9a-f Web密码存储
SHA1 40位 0-9a-f 数字签名
NTLM 32位 0-9a-f(ccef开头) Windows认证
Base64 长度%4=0 +/=`结尾 数据传输
URL编码 任意 %xx URL参数
HEX 任意 0-9a-f 二进制表示
JSFuck 任意 [ ] ( ) ! + CTF前端混淆

八、考题练习(10道高频考点,附答案与解析)


考题1:以下哪个编码的输出长度是固定的?

A. Base64

B. URL编码

C. MD5

D. Hex

答案:C
解析:MD5输出固定32位十六进制字符串。Base64长度取决于输入(需补=),URL编码长度可变(%xx长度固定但总数不固定),Hex长度是输入的2倍(不固定)。


考题2:Windows系统中,密码哈希默认使用哪种格式?

A. MD5

B. SHA256

C. NTLM

D. SHA1

答案:C
解析 :NTLM是Windows系统的默认密码哈希格式(如ccef208c...)。MD5和SHA1在Windows中已过时,SHA256用于现代系统但非默认。


考题3:URL编码中,空格字符的编码是什么?

A. %20

B. %21

C. %32

D. %00

答案:A
解析 :空格在URL编码中固定为%20(ASCII码32的十六进制表示)。%21!%322%00是空字符。


考题4:Base64编码的密文通常以什么符号结尾?

A. +

B. /

C. =

D. ?

答案:C
解析 :Base64编码需4字节对齐,不足部分用=填充结尾。例如aGVsbG8=("hello"的Base64)。+/是字符集,?无意义。


考题5:以下哪种编码方式不是加密,而是数据编码?

A. AES

B. MD5

C. Base64

D. RSA

答案:C
解析:Base64只是编码(将二进制转为ASCII),不是加密。MD5是哈希算法,AES/RSA是加密算法。


考题6:JSFuck编码使用的字符集是?

A. A-Z, a-z, 0-9

B. 0-9, a-f

C. [ ] ( ) ! +

D. %xx

答案:C
解析 :JSFuck仅用6个字符:[ ] ( ) ! +,用于生成可执行的JavaScript代码(如[][![]])。


考题7:在CTF中,看到字符串U2FsdGVkX1...,它最可能是什么?

A. MD5哈希

B. SHA256哈希

C. AES加密(Base64编码)

D. URL编码

答案:C
解析U2FsdGVkX1是AES加密的Base64特征前缀(如U2FsdGVkX1开头的Base64密文)。MD5/SHA256无此特征,URL编码不含此结构。


考题8:以下哪个哈希算法已不推荐用于密码存储?

A. bcrypt

B. SHA256

C. MD5

D. Scrypt

答案:C
解析 :MD5因易被彩虹表破解,已淘汰用于密码存储。bcrypt和Scrypt是现代密码哈希算法,SHA256需加盐才安全。


考题9:以下哪项是HEX编码的正确示例?

A. aGVsbG8=

B. %E4%B8%AD

C. 414243

D. ccef208c

答案:C
解析 :HEX编码仅含0-9a-f,如414243("ABC"的HEX)。A是Base64,B是URL编码,D是NTLM(32位哈希)。


考题10:在Windows系统内存中提取到的密码哈希为ccef208c...,它属于哪种类型?

A. MD5

B. SHA1

C. NTLM

D. SHA256

答案:C
解析 :NTLM哈希ccef开头 (Windows系统特征),而MD5/SHA1/SHA256的哈希开头是随机的。ccef208c是典型的NTLM前缀。


声明:本文仅用于信息安全学习与研究,严禁用于非法活动。所有工具和方法均需在授权范围内使用。

相关推荐
xian_wwq2 小时前
【学习笔记】OSI安全架构体系
网络·笔记·学习
love530love2 小时前
Windows 11 下再次成功本地编译 Flash-Attention 2.8.3 并生成自定义 Wheel(RTX 3090 sm_86 专属版)
人工智能·windows·笔记·编译·flash_attn·flash-attn·flash-attention
94620164zwb52 小时前
数据备份模块 Cordova 与 OpenHarmony 混合开发实战
安全
秋4273 小时前
防火墙基本介绍与使用
linux·网络协议·安全·网络安全·架构·系统安全
sweet丶3 小时前
扩展了解DNS放大攻击:原理、影响与防御
网络协议·安全
acrelgxy4 小时前
看不见≠不存在,更不等于安全!故障电弧探测器,让隐形危险现出原形。
安全·电力监控系统·智能电力仪表
中屹指纹浏览器4 小时前
2025 硬核技术:中屹指纹浏览器进程级沙箱隔离,筑牢多开防关联壁垒
经验分享·笔记
再睡一夏就好4 小时前
多线程并发编程核心:互斥与同步的深度解析及生产者消费者模型两种实现
linux·运维·服务器·jvm·c++·笔记
老赵聊算法、大模型备案4 小时前
新规解读:2025 年修正版《中华人民共和国网络安全法》核心变化解读
安全·web安全