WEB加密1&数据传输编码&传输加密&数据格式&密文存储&代码混淆
字数 1463 2025-08-29 08:30:36
WEB加密与数据传输安全教学文档
1. 编码传输
1.1 编码传输概念
编码传输是指将原始数据转换为特定格式以确保符合后端接收要求的过程。常见场景包括:
- URL参数编码(如r_id=1编码为MQ==)
- 数据包中的各种编码形式(Base64、URL编码、Unicode等)
1.2 编码传输的作用
- 确保数据符合后端接收格式
- 在渗透测试中,必须使用正确编码才能有效传参
- 未正确编码的数据可能导致后端无法解析
1.3 常见编码类型
- Base64编码:如MQ==表示1
- URL编码:如空格编码为%20
- Unicode编码:如\u4e2d表示"中"
1.4 编码传输实战应用
- 解码分析:还原编码后的URL参数,理解URL构造
- 测试修改:如将/us/3852367改为/us/3852365并重新编码进行测试
2. 加密传输
2.1 加密传输概念
加密传输是指将敏感数据(如密码)通过加密算法处理后传输,常见于:
- 请求包中的密码字段(如MD5加密)
- 数据库中的存储数据
2.2 加密传输实例分析
-
ZZCMS框架:
- 数据库密码字段使用MD5加密
- 可通过在线解密工具破解简单密码(如123456)
-
Discuz框架:
- 使用更复杂的加密方式
- 直接解密困难,需要其他方法:
- 分析JS文件寻找加密算法
- 获取网站源码逆向解密
- 使用专业解密工具
2.3 前端加密示例
- 源代码中的加密字符串可通过特定工具解密
- PHP代码加密后仍可执行,但可读性降低
2.4 加密传输应对策略
- 大型网站数据包通常全局加密
- 加密算法通常可在前端JS中找到
- 后端加密更严格,通常需要专业人员解密
3. 数据包格式
3.1 常见数据包格式类型
-
常规格式:
- 形式:a=xxx&b=xxx&c=xxx
- 特点:参数直接拼接
-
JSON格式:
- 特征:使用大括号{}
- 示例:{"a":"xxx","b":"xxx"}
-
XML格式:
- 特征:以
标签开头 - 示例:
xxxxxx
- 特征:以
3.2 数据包格式重要性
- 正确格式是服务器识别的关键
- 请求包与响应包格式可能不同
- 格式错误会导致参数无法识别
3.3 格式问题排查
- 观察网站其他数据包格式
- 根据观察结果构造测试数据包
- 注意Content-Type头部设置
4. 解密工具原理
4.1 碰撞式解密原理
- 使用庞大字典包含常见字符串
- 对字典中每个字符串进行加密
- 比对加密结果与目标密文
- 匹配成功即解密完成
4.2 解密效率影响因素
- 密码复杂度:简单密码易破解
- 加密算法强度:MD5比SHA1更易破解
- 字典完整性:包含更多可能组合
4.3 解密局限性
- 对称加密(如AES)无法通过碰撞解密
- 非对称加密(如RSA)需要私钥
- 复杂密码解密成本极高
4.4 提高密码安全性建议
- 使用大小写字母组合
- 加入特殊符号
- 避免常见单词和模式
- 足够长度(至少12字符)
5. 综合应用与总结
5.1 渗透测试中的关键点
- 识别数据包中的编码和加密
- 正确构造测试数据包格式
- 合理使用解密工具
- 分析前端JS寻找加密算法
5.2 学习建议
- 掌握常见编码/加密的特征识别
- 熟练使用各种解码/解密工具
- 理解但不深究复杂加密算法
- 关注数据包整体结构和流程
5.3 工具推荐
- 编码/解码工具:CyberChef、Burp Suite Decoder
- 哈希破解:Hashcat、John the Ripper
- 在线解密网站:md5online、cmd5等
5.4 注意事项
- 不是所有加密都可破解
- 专业加密需要专业人员和设备
- 渗透测试中思维比技术更重要
- 合法合规使用技术知识