SNERT预备队招新CTF体验赛-Misc(SWCTF)
目录
1、最简单的隐写
2、旋转我
3、is_here
4、zip伪加密
5、压缩包密码爆破
6、我就藏在照片里
7、所以我放弃了bk
8、套娃
9、来自银河的信号
10、Track_Me
11、勇师傅的奇思妙想
1、最简单的隐写
下载附件后,图片格式并不支持打开

根据题目提示,可能是文本,这里选择使用记事本打开

拉到最下面,找到flag

flag{Hello-World-Misc!!!}
2、旋转我
下载打开附件,是一串被旋转过的文字

使用在线网站简单翻转一下即可看到flag

flag{dame_i_am_exposed}
3、is_here
附件是一个world文本,题目提示flag就在这里

使用快捷键Ctrl+F进行关键字flag搜索
有很多个结果, flag{flag?not_here}是错的, 最终找到正确flag
flag{snert_SNERT}
4、zip伪加密
下载附件尝试打开flag,但是出现了密码提示

题目提示是zip伪加密
使用010editor打开
淦!直接就看到了flag

这里我们还是按照考察知识点来做
正常情况下 frFlags 和 deFlags应该都为0,如果不是,则会出现密码提示,即伪加密
观察之后发现这里的deFlags不为0,对其进行修改为0
修改后Ctrl+S保存
再次打开,不再需要密码,打开即可看到flag

flag{6liuN1U_I_CaN_N0T_RuN}
5、压缩包密码爆破
hint提示密码是6位纯数字,所有可能即从000000~999999

设置一下爆破范围和密码长度


开始爆破,因为我们根据提示限制了爆破的范围,所有很快,大概十几秒就出
所有各位一定要认真看题,利用已知的有效信息
得到密码 258025
利用密码打开flag2

很明显的base64
解码得到flag

flag{Y0U_F10D_mE!}
6、我就藏在照片里

根据提示进行jpg文件头修改

修改后Ctrl+S保存
再次打开即可正常显示图片看到flag
flag{W0w_Y0u_G0t_Me!}
7、所以我放弃了bk
根据题目提示,将附件下载后拖进kali进行分析

使用binwalk进行固件扫描,发现还存在其他图片信息
使用foremost命令进行文件分离

结果会保存到output目录下

打开另一张图片即可看到flag
flag{breaking_Never_Give_Up}
8、套娃
题目提示是lsb隐写

将附件解压拖进kali
使用zsteg命令对文件夹里的图片一张一张进行分析
最后发现flag藏在6.png里面

flag{03a253f5-8e93-4533-bcfc-af908830095d}
9、来自银河的信号
根据提示直接使用根据工具RX-SSTV转码无线电信号

关于这个工具的具体配置参考我另一篇博客
http://t.csdnimg.cn/mzdr8
flag{Myon_in_ss!w!}
10、Track_Me
下载附件解压后是一段流量,使用wireshark打开
在追踪TCP流中发现了三个等号,想到base编码
将字符串提取出来并且拼起来得到
MMYWMX3GNEYWOXZRGAYDA===
放入随波逐流,发现是base32
解码得到flag
flag{c1f_fi1g_1000}
11、勇师傅的奇思妙想
下载附件是一张图片
进行常规扫描和提取
得到三个加密的压缩包和一个加密的txt文本
对附件进行lsb隐写分析
得到 pwd:qwe8866ZXC*
尝试之后发现是txt的密码
使用密码将文件解压
拖进工具对文本分析之后发现是零宽隐写
得到密码是CouldCry
接下来分析三个加密的压缩包
(1)key.zip
因为这里不存在任何密码提示,我们先使用010editor打开看看
发现frflags和deflags被修改,这就造成了伪加密
将它们修改为0后保存
解压key.zip得到一张图片
使用010editor打开,发现CRC报错
考虑图片高度被修改(这是杂项隐写常用的一种方法)
我们将高度加长
保险起见我们尽量加得长一点,以免内容显示不完全,修改后保存再次打开
得到一个二维码
解码得到一串base64密文
5L2g56a7ZmxhZ+W+iOi/keS6hu+8jOW/q+WOu+aJk+W8gOaIkeeahOiEmuacrAp0aGUga2V5IGlzICDvvJpoYWNrZXIqKg==
继续解base64编码
得到the key is :hacker**
使用key解压hash.zip
得到PHP脚本
根据注释提示进行内容替换,运行
得到hash值 8593f9073ae83c722853af2b58892f2c
使用hash值解压flag.zip,得到flag.wav
同理这里也是无线电,使用RXSSTV解码即可得到最终flag
flag{You_have_g0t_started_With_miscellaneous_Items}
总的来说都是一些比较基础的常见的东西
welcome to snert!
相关文章:
SNERT预备队招新CTF体验赛-Misc(SWCTF)
目录 1、最简单的隐写 2、旋转我 3、is_here 4、zip伪加密 5、压缩包密码爆破 6、我就藏在照片里 7、所以我放弃了bk 8、套娃 9、来自银河的信号 10、Track_Me 11、勇师傅的奇思妙想 1、最简单的隐写 下载附件后,图片格式并不支持打开 根据题目提示&…...
MySql017——组合查询
一、UNION作用 可用UNION操作符来组合数条SQL查询。 二、UNION 使用规则 1、UNION的使用很简单。所需做的只是给出每条SELECT语句,在各条语句之间放上关键字UNION。2、UNION必须由两条或两条以上的SELECT语句组成,语句之间用关键字UNION分隔ÿ…...
【0224】源码分析RelFileNode对smgr访问磁盘表文件的重要性(2)
1. RelFileNode的角色 RelFileNode 是一个结构体数据类型,声明于relfilenode.h(src\include\storage )头文件中,该数据类型十分重要,因为它 “提供所有我们需要知道的物理访问关系表的信息。” smgr要访问磁盘上面的数据表文件,则需要此RelFileNode提供必要信息。 可以说…...
2310C++λ中完美转发
原文 C11里面就引入了完美转发概念,通过它,可按参数实际类型转发参数. 元<型名 T>空 处理(T&t){输出<<"左值\n";} 元<型名 T>空 处理(T&&t){输出<<"右值\n";} 元<型名 T>空 测试转发(T&&t){处理(前向&…...
【C++11】std::function 包装器(又叫适配器),std::bind 绑定
文章目录 std::function 包装器1. 使用方法2. 包装器的应用场景:题目 - - 逆波兰表达式求值3. 成员函数 和 static 静态成员函数 使用 包装器 std::bind 适配器绑定1. 使用方法2. 调整参数 顺序3. 指定参数 / 参数个数的调整 std::function 包装器 std::function 包…...
Linux系统编程系列之线程
一、什么是线程 线程(Thread)是计算机中的基本执行单元,是操作系统调度的最小单位。线程是进程内的一个独立执行流程,一个进程可以包含多个线程,这些线程共享进程的资源,但每个线程都有自己的独立栈空间以及…...
CV面试知识点总结
一.卷积操作和图像处理中的中值滤波操作有什么区别? 1.1卷积操作 卷积操作是一种线性操作,通常用于特征的提取,通过卷积核的加权求和来得到新的像素值。1.2中值滤波 原文: https://blog.csdn.net/weixin_51571728/article/detai…...
Centos一键安装、切换各版本JDK
查看服务中的安装的jdk rpm -qa | grep java获取jdk各版本信息 yum -y list java*查看指定版本 yum -y list java*|grep 1.8安装jdk yum install java-11-openjdk当服务器中有多个版本jdk,切换指定jdk版本 alternatives --config java按照提示输入编号即可切换&…...
JavaWeb项目:smbms(mysql)
1.准备工作,创建数据库 CREATE DATABASE smbms;USE smbms;CREATE TABLE smbms_address (id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 主键ID,contact VARCHAR(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 联系人姓名,addressDesc VARCHAR(50) COLLATE u…...
shell脚本的多线程介绍
shell脚本的多线程介绍 shell脚本中,实现多线程可以使用以下方法: 1)使用&符号 在Shell中,可以使用&符号将命令放在后台执行,这样就可以同时执行多个命令。例如: #!/bin/bash command1 & #…...
周记之反思
9.25 这篇总结我承认,是在26号上午写的,那昨天晚上又聊天了,但是对比之前来说好很多了,所以26号上午也就是今天我起了个大早,然后把昨天的尾巴收了一下,没收完,先说说成果: 完成了…...
信创办公–基于WPS的EXCEL最佳实践系列 (数据整理复制粘贴)
信创办公–基于WPS的EXCEL最佳实践系列 (数据整理复制粘贴) 目录 应用背景操作步骤1、数据查找与替换2、复制或粘贴数据3、使用自动填充工具4、将数据拆分到多列5、应用数字格式 应用背景 数据的整理复制粘贴等在日常的工作中经常使用。本章内容主要学习…...
二极管的直流等效电路和微变等效电路
二级管的主要参数 1.IF(最大整流的电流) 二极管长期工作做能够通过电流的平均最大值:物理意义:功率电流值。 2.UR 二极管最高反向工作电压 需要留有裕度,通常能达到一半的裕度;UR不能等于UBR。 3.IR 未击穿…...
Python无废话-基础知识字典Dictionary详讲
“字典Dictionary” 是一种无序、可变且可嵌套的数据类型,用于存储键值对。字典使用花括号{}来定义,并用逗号分隔键值对。本文对字典常使用方法,创建字典、添加字典、删除字典、如何获取字典做了知识归纳。 字典有以下几个特征: …...
ChatGPT多模态升级,支持图片和语音,体验如何?
一、前言 9 月 25 日,ChatGPT 多模态增加了新的语音功能和图像功能。这些功能提供了一种新的、更直观的界面,允许我们与 ChatGPT 进行语音对话或展示我们正在谈论的内容。 ChatGPT 现在可以看、听、和说话了,而不单单是一个文本驱动的工具了。…...
(SAR)Sentinel-1影像自动下载
基于ASF网站提供的python代码,实现Sentinel-1影像的自动下载; 1、登录ASF网站 登录Sentinel-1影像ASF网站:https://search.asf.alaska.edu/; 点击网站最右侧Sign in图标,进行用户注册; 注册完用户之后&…...
设计模式10、外观模式Facade
解释说明:外观模式(Facade Pattern)又称为门面模式,属于结构型模式 Faade 为子系统中的一组接口提供了一个统一的高层接口,该接口使得子系统更加容易使用 外观(Facade)角色:为多个子系统对外提供…...
华为数通方向HCIP-DataCom H12-831题库(单选题:181-200)
第181题 以下关于OSPF的5类LSA中的转发地址(ForwardingAddress,FA) 的描述,正确的是哪一项? A、当FA地址为0.0.0.0时,收到该LSA的路由器认为到达目的网段的数据包应该发往对应的ABR,因此将到达ABR的下一跳地址作为这条外部路由的下一跳 B、当FA地址为0.0.0.0时,收到该LS…...
Java 中的参数传递方式
Java 中的参数传递方式通常被称为“值传递”,这意味着在方法调用时,实际上传递给方法的是变量的副本,而不是变量本身。尽管这被广泛称为“值传递”,但需要注意的是,这并不意味着 Java 不支持引用传递。事实上ÿ…...
从0开始python学习-27.selenium 简单登录页面脚本
url https://test.com.cn/login driver.get(url)# 获取登录页面需要输入账号密码进行模拟登录操作 user driver.find_element(By.XPATH,//*[id"username"]).send_keys(username) pwd driver.find_element(By.XPATH,//*[id"selfpwd"]).send_keys(123456)…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
