简单php反序列化实现执行代码

简单php反序列化实现执行代码

反序列化举例

首先定义类和对象,然后输出序列化和反序列化结果看看这是个什么东西

<?php
	class Stu{
		public $name;
		public $age;
		public $sex;
		public $score;
		}
		$stu1 = new Stu();
		$stu1->name = "order";
		$stu1->age = 22;
		$stu1->sex = true;
		
		var_dump($stu1);
		print("<br>");
		$a=serialize($stu1);
		echo $a;
		print("<br>");
		$b=unserialize($a);
		var_dump($b);

?>

输出结果如图

image-20231121175633489

实现代码执行

<?php
	class Stu{
		public $name;
		public $age;
		public $sex;
		public $score;
		public function __wakeup(){
			if(@$_GET['cmd']=="order"){
				system("calc");
			}
		}
		}
		$stu1 = new Stu();
		$stu1->name = "order";
		$stu1->age = 22;
		$stu1->sex = true;
		
		// var_dump($stu1);
		// print("<br>");
		$a=serialize($stu1);
		// echo $a;
		print("<br>");
		$b=unserialize($a);
		// var_dump($b);

?>

一片空白

image-20231121180203086

传参执行过后即可实现代码执行

image-20231121180142753

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值