不安全的反序列化 序列化是将对象转换为一种数据格式的过程,这种格式可以在稍后恢复。人们经常对对象进行序列化,以便将其保存到存储中,或作为通信的一部分发送出去。反序列化则是这一过程的逆向操作——从某种格式的数据中重建对象——OWASP 摘要 反序列化标识符 POP 工具 实验环境 参考文献 反序列化标识符 请参阅位于其他章节中的以下子部分: Java 反序列化:ysoserial 等 PHP(对象注入):phpggc 等 Ruby:通用 RCE 工具等 Python:pickle、PyYAML 等 .NET:ysoserial.net 等 对象类型 | 头部(十六进制) | 头部(Base64) | 指示符 .
序列化是将对象转换为一种数据格式的过程,这种格式可以在稍后恢复。人们经常对对象进行序列化,以便将其保存到存储中,或作为通信的一部分发送出去。反序列化则是这一过程的逆向操作——从某种格式的数据中重建对象——OWASP
请参阅位于其他章节中的以下子部分:
| 对象类型 | 头部(十六进制) | 头部(Base64) | 指示符 |
|---|---|---|---|
| .NET ViewState | FF 01 |
/w |
常见于 HTML 表单周围的隐藏输入中 |
| BinaryFormatter | 0001 0000 00FF FFFF FF01 |
AAEAAAD |
Base64 解码并检查长序列 FF FF FF FF。 |
| Java Serialized | AC ED |
rO |
Base64 解码并检查前几个字节。 |
| PHP Serialized | 4F 3A |
Tz |
前缀如 O:, a:, s:, i:, b: 和长度指示符。 |
| Python Pickle | 80 04 95 |
gASV |
文本:操作码如 (lp0, S'Test'。 |
| Ruby Marshal | 04 08 |
BAgK |
Base64 解码并查找开头的 \x04\x08。 |
POP(面向属性编程)工具是应用程序类实现的一段代码,可在反序列化过程中被调用。
POP 工具的特征:
免责声明:
本文件由基于人工智能的机器翻译服务翻译而成。尽管我们力求翻译准确,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言版本的文件为准。对于关键信息,建议使用专业的人工翻译。对于因使用本翻译而产生的任何误解或误读,我们概不负责。