草莓味的棉花糖|不安全的反序列化
为什么要序列化
序列化 , “将对象的状态信息转换为可以存储或传输的形式的过程” 。 在序列化期间内 , 将对象当前状态写?到临时或永久性的存储区 。 以后 , 就可以通过从存储区中读取或还原(反序列化)对象的状态 , 重新创建该对象 。
简单的说 , 序列化就是把?个对象变成可以传输的字符串 , 可以以特定的格式在进程之间跨平台安全的进?通信 。
【草莓味的棉花糖|不安全的反序列化】什么是PHP反序列化漏洞
PHP反序列化漏洞也叫PHP对象注入 , 是一个非常常见的漏洞 , 这种类型的漏洞虽然有些难以利用 , 但一旦利用成功就会造成非常危险的后果 。 漏洞的形成的根本原因是程序没有对用户输入的反序列化字符串进行检测 , 导致反序列化过程可以被恶意控制 , 进而造成代码执行、getshell等一系列不可控的后果 。 反序列化漏洞并不是PHP特有 , 也存在于Java、Python等语言之中 , 但其原理基本相通 。
一般程序在创建的时候 , 都会重写析构函数和构造函数 , 反序列化就是利用这些重写的函数 。
序列化与反序列化函数
serialize();unserialize();# 主要是针对对象抽象的数据结构 --序列化--> 字符串 --反序列化--> 抽象的数据结构创建类:
// vul.class.phpclass Test{ public $str = "wenxin";function __destruct(){ echo "This is function __destruct()";@eval($this -> str); }}创建对象:
// vul.php$serialize_test序列化和反序列化后的输出:
__destruct(), 会被对象?动调? 。
以 __ 开头的函数 , 是PHP 中的魔术?法 。
类中的魔术?法 , 在特定情况下会?动调? 。 即使魔术?法在类中没有被定义 , 也是真实存在的 。
typechov1.0 反序列化漏洞
推荐阅读
- 草莓大福|凭漂亮脸蛋闯荡娱乐圈,幕后团队到底有多厉害,周也3天2个热搜
- 草莓苗子|北电校庆红毯生图出炉,关晓彤大长腿吸睛,看到杨紫原谅我心动了
- 实锤社|草莓谈TES一坨翔!让2追3后变脸笑懵观众,若风发文点名怼阿水
- 攀枝花机场|专家解读深航攀枝花机场“不安全”事件:飞机提前触地或与操控有关
- WE|若风发文点名怼阿水,草莓谈TES一坨翔!让2追3后川剧变脸笑懵观众
- 实锤社|若风发文点名怼阿水,草莓谈TES一坨翔!让2追3后变脸笑懵观众
- 中新经纬|深航回应客机不安全事件:轮胎扎伤,不符合放行标准
- 观察者网|深航客机在攀枝花机场发生不安全事件,后续航班取消
- 草莓味奶茶|却在孕期惨遭抛弃,今年过四旬惹得男人挪不开眼!,她和导演同居12年
- 特朗普|特朗普顾问感染新冠进ICU后反思:白宫不安全 我该戴口罩
