unserialize php ctf,ctf serialize 序列化和反序列化

本文详细介绍了PHP中的序列化与反序列化操作,通过实例展示了如何将数组转换为字符串并恢复。文中提到的关键概念包括`serialize()`和`unserialize()`函数,以及它们在数据存储和传输中的应用。通过在线测评平台加深了对这一过程的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

反序列化

160953a11919

图片.png

和往常一样,先进入网址。

160953a11919

这里我们可以看到上面的源代码。

unserialize($str) === "$KEY"

我们举个例子

$arr=array();

$arr['name']='张三';

$arr['age']='22';

$arr['sex']='男';

$arr['phone']='123456789';

$arr['address']='上海市浦东新区'; var_dump($arr);

//输出:

// array(5) {

// ["name"]=> string(6) "张三"

// ["age"]=> string(2) "22"

// ["sex"]=> string(3) "男"

// ["phone"]=> string(9) "123456789"

// ["address"]=> string(21) "上海市浦东新区" // }

//序列化:

$info=serialize($arr); var_dump($info);

//输出:

//string(140) "a:5:{s:4:"name";s:6:"张三";s:3:"age";s:2:"22";s:3:"sex";s:3:"男";s:5:"phone";s:9:"123456789";s:7:"address";s:21:"上海市浦东新区";}"

////////////////////////说明/////////////////////////////////

//**a:5标志序列化为array包含5个键值对,s:4标志内容为字符串包含4个字符。**//

$zhangsan=unserialize($info);

var_dump($zhangsan);

//输出:

// array(5) {

// ["name"]=> string(6) "张三"

// ["age"]=> string(2) "22"

// ["sex"]=> string(3) "男"

// ["phone"]=> string(9) "123456789"

// ["address"]=> string(21) "上海市浦东新区" // }

这里是反序列化

也即是说把$key反序列化一下我们会得到

s:7:D0g3!!!

我这里有个好玩的东西http://demo.php.cn/可以在线测评php

160953a11919

图片.png

因为是 $_GET的方式

所以我们在地址栏用get的输入格式就行了

http://120.79.33.253:9001/?str=s:7:"D0g3!!!"

这个就是我们需要的地址

黑体字就是我们需要的flag

160953a11919

图片.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值