目录
一、传输格式&数据-类型&编码&算法
1. 传输格式:
2. 传输数据:
3. 影响与渗透测试:
#传输格式
#传输数据
二、密码存储&混淆-不可逆&非对称性
1. 密码存储:
2. 密码存储的影响:
3. 代码混淆:
4. 影响与渗透测试:
#密码存储
#代码混淆
1. 传输格式:
数据传输格式决定了不同系统之间交换信息的方式。常见的传输格式包括:
- JSON:广泛应用于Web服务和API中,具有良好的可读性和轻量级特点。
- XML:比JSON更为复杂,常用于配置文件和数据交换,但更容易受到安全攻击(如XML注入)。
- WebSockets:一种在单个TCP连接上进行全双工通信的协议,通常用于实时应用(如聊天应用),例如豆包(豆瓣)等应用使用它来实时推送数据。
- HTML:主要用于网页内容展示,但在Web应用中也可以用来传输数据。
- 二进制:可以传输大量的原始数据,适用于图像、音频等文件格式。
- 自定义格式:一些应用可能使用自定义格式来传输数据,通常需要特定的解析方法。
2. 传输数据:
传输数据时,常使用的编码和加密算法包括:
- MD5:一种哈希算法,常用于数据完整性校验,但由于其易受到碰撞攻击,已经不再推荐用于安全存储。
- Base64:一种编码方式,通常用于将二进制数据转为文本形式。虽然它对数据没有加密作用,但可以隐藏数据内容,常用于Web通信中的文件上传或加密信息的传输。
- 自定义算法:一些应用程序使用专有的加密算法进行数据传输,通常在安全测试中需要逆向破解或解密。
3. 影响与渗透测试:
- 格式统一:渗透测试时,确保数据发送格式的统一性是很重要的,因为这会直接影响到数据的传输和解析,可能影响攻击的成功率。
- 加密统一:渗透测试也需要确保传输数据时的加密方式统一,因为不一致的加密算法可能导致信息泄露或未加密的数据暴露。
#传输格式
JSON XML WebSockets HTML 二进制 自定义
WebSockets:聊天交互较常见(豆包等应用)
https://zhuanlan.zhihu.com/p/712032652
Web 数据传输的方式-腾讯云开发者社区-腾讯云
文件上传:
【HTTP】文件常见传输数据格式 Content-Type 与 MIME - wanglei1900 - 博客园
影响:安全后渗透测试必须要统一格式发送
#传输数据
例:
MD5
Base64
自定义算法
影响:安全后渗透测试必须要统一加密发送
1. 密码存储:
密码存储方式的安全性直接影响到密码泄露的风险。常见的密码存储方法包括:
- 不可逆加密:例如使用哈希算法(如SHA、MD5)存储密码。哈希值不可逆,因此即使数据泄露,攻击者无法直接还原原始密码。
- 加盐:为了防止彩虹表攻击,密码哈希时会加盐(salt),生成独一无二的哈希值。
- 非对称加密:使用一对公钥和私钥加密数据。即使攻击者获取到公钥,也无法解密数据,只有私钥持有者才能解密。
2. 密码存储的影响:
- 解密算法破解:在进行渗透测试时,密码存储的加密方式(如MD5或SHA)可能需要被破解或通过彩虹表攻击恢复明文密码。
- 数据库:不同的数据库系统(如MySQL和MSSQL)可能有不同的密码存储方法和安全措施,因此在渗透测试中要根据具体的数据库类型选择相应的攻击方式。
3. 代码混淆:
代码混淆主要用于增加代码的逆向难度,防止攻击者通过反编译和逆向工程分析程序。
- PHP与JS混淆加密:通过混淆脚本代码,使得代码结构变得难以理解,增加破解的难度。
- DLL和JAR代码保护:通过加密或混淆技术保护动态链接库(DLL)和Java归档文件(JAR),以防止反编译。
4. 影响与渗透测试:
- 代码审计:混淆代码对渗透测试人员进行代码审计时构成挑战。代码混淆可能需要更高级的逆向技术,才能恢复原始代码。
- 逆向破解:通过逆向工程,渗透测试人员可能尝试破解混淆后的代码,以获取敏感信息或漏洞。
#密码存储
例:
-ZBlog&Dz
-Win&Linux
-MSSQL&MYSQL
影响:安全后渗透测试必须要做到算法解密
#代码混淆
例:
-PHP&JS混淆加密
-DLL&JAR代码保护