2024 睿抗机器人开发者大赛(RAICOM)-【网络安全】CTF 部分WP
文章目录
- 一、前言
- 二、MICS
- 你是黑客么
- 循环的压缩包
- Goodtime
- 三、WEB
- py
- 四、Crypto
- 变异凯撒
- RSA
- crypto3
一、前言
WP不完整,仅供参考!
除WEB,RE,PWN外,其余附件均已打包完毕
也是一个对MISC比较友好的一个比赛~
123网盘下载:
https://www.123pan.com/s/q2J1jv-URJvd?提取码:0905
提取码:0905
二、MICS
你是黑客么
解题思路
附件下载,得到一个zip,打开发现存在密码,010检查一下zip,发现并不是伪加密,那我们直接上ARCHPR进行爆破:
打开zip发现需要密码

使用ARCHPR尝试纯数字爆破

得到密码:75067
打开zip

010简单分析一下,翻到下面一些,很快就发现了hint:data:image/png;base64,是个明眼人都能看明白啥意思吧?

这里我们可以直接使用:https://cyberchef.org/,来进行64解码并导出PNG图片

最后也是导出了一个二维码,我们使用工具:QR_Research,来进行扫码

至此:
flag{asdf%^&*ghjkl}
循环的压缩包
解题思路
附件下载,得到一个zip,发现需要一直修改zip后缀,并且一直解压解压,那这很明显了,就是需要解压到最后才能给你flag,所以我们可以直接让GPT帮我们写一个脚本来进行自动化解压:
脚本如下:
import zipfile
import os# 无限循环,除非手动中止
while True:# 以二进制模式读取名为 "tarfile" 的文件with open("tarfile",'rb') as f:data = f.read()# 跳过前512字节,提取剩余数据用于后续处理zip_data = data[512:]# 将剩余的数据写入一个新的 ZIP 文件 "new.zip"with open("new.zip",'wb') as f:f.write(zip_data)# 创建临时目录 "tmp" 用于解压文件os.mkdir("tmp")# 打开刚创建的 ZIP 文件 "new.zip"archive_file = "new.zip"with zipfile.ZipFile(archive_file, 'r') as zip_ref:# 将 ZIP 文件内容解压到 "tmp" 目录zip_ref.extractall(path="tmp/")# 使用系统命令 mv 将解压出的文件从 tmp 移动到当前目录os.system("mv tmp/* .")# 删除临时目录 "tmp"(必须是空目录)os.rmdir("tmp")
简单分析脚本:
- 文件读取:从
tarfile中读取数据,跳过前512字节,这假设前面的数据无效。 - 生成 ZIP 文件:将剩余部分的数据写入到
new.zip。 - 创建临时目录:创建
tmp目录,用于解压 ZIP 文件。 - 解压 ZIP 文件:将
new.zip中的内容解压到tmp目录。 - 移动文件:使用系统的
mv命令将tmp目录中的所有文件移到当前目录。 - 清理临时目录:最后删除临时目录
tmp,保持目录整洁。
总结:
这个脚本的核心作用是处理 tarfile 文件,将其部分内容(跳过前512字节)提取出来作为 zip 文件进行解压缩,然后将解压后的内容移动到当前目录,并删除中间产生的临时文件和目录。
至此;
flag{01af9cbb-6bf2-4ad8-8ecb-9dcbbc02bf19}
Goodtime
解题思路
附件下载,得到一个zip,打开发现需要密码,010简单看看,不是伪加密,尝试使用暴力破解
打开zip,发现需要密码

使用ARCHPR进行暴力破解,这里我们不知道具体啥爆破,就全部勾选了,虽然等的时间有点长,但好在也是出来了

得到密码:city
打开zip,发现存在7个TXT

一个一个打开,最后发现qwsz.txt这个TXT可能存在zip的头部
qwsz.txt

补全之后发现并不能直接打开,那这时候猜测可能这几个TXT一起合起来才是一个完整的zip,单单一个qwsz.txt肯定是不行的,那怎么才能确认顺序呢?我们仔细看他们文件命名的名称比如:qwsz,在键盘上包围了一个A,再看看:vghn,合起来是不是包围了一个B,那我们就按照A-G的顺序一一拼凑起来:
那这里都确认了具体顺序,我们直接使用:https://cyberchef.org/,进行简单的拼凑,合起来是一个完整的zip

先补全zip头部:50 4B 03 04,接着进行From Hex编码,再按照A-G的顺序将TXT文本的内容一一复制粘贴进去,最后点击保存即可:
qwsz——A,vghn——B,xdfv——C,sefc——D,wsdr——E,drgv——F,fthb——G

最后点击保存即可

打开download.zip,发现一张PNG图片:

打开得到一张图片,解压出来右键查看其属性,发现位深度:32,里面指定有点东西,最后也是在kali中使用zsteg查看到了隐藏数据:

很明显这是一串hex,那我们直接丢进:https://cyberchef.org/,进行解码得到flag;

至此;
flag{2468__TUvn__qwer}
非预期解:
- 手动给
qwsz.txt文件补上 ZIP 文件的魔数50 4B(代表 “PK”)。 - 在 CyberChef 中导入修改后的文件,进行From Hex编码,并导出为新的
.zip文件。 - 接着使用 BandZip 解压文件,忽略出现的错误提示,并成功提取到
owl.png文件。 - 对
owl.png文件进行 LSB 隐写分析,提取出隐藏的数据信息。
为什么 BandZip 可以解压有错误的 ZIP 文件?
- ZIP 文件结构容错性:ZIP 文件的格式有一定的冗余和容错性。即便部分文件头或数据块损坏,压缩软件(如 BandZip)仍能读取文件目录,尝试解压可恢复的数据。
- BandZip 的健壮性:BandZip 提供了灵活的错误处理机制,允许用户忽略解压过程中的错误,从而尽量恢复文件。
这里不再过多演示,感兴趣的师傅可以尝试一下,欢迎评论区留言结果!
三、WEB
py
解题思路
原题,参考2024年郑州大学“奇安信杯”网络空间安全竞赛 what can i say 队伍 Writeup,中的《py一波吧》,考点:SSTI+JWT
四、Crypto
变异凯撒
解题思路
附件下载,得到一个TXT,打开:

很明显的替换,既然只有三个字符(15!),能想到的只有摩斯,进行简单的替换即可,多尝试几遍就行,最后得出结论,1–>-,5–>.,!–>空格,最后得到:
--. --- --- -.. - .-. -.-- -.-.-- -.... --... -.... ..-. -.... ..-. -.... ....- --... ....- --... ..--- --... ----. ..--- .---- ..... ..-. -.... ..-. -.... ----- --... ....- ....- -... ..... ---.. ..... -... -.... ---.. ..... ..... -.... ..... -.... ..... ..... ----- -.... -.... ..... ----- ..... .---- ....- . -.... ----- ..... ....- ..... ----. ..... --... -.... .....
解码得到:

GOODTRY!676F6F64747279215F6F60744B585B68556565506650514E6054595765
一眼hex,直接进行From Hex即可;

得到主要:
_o`tKX[hUeePfPQN`TYWe
因为前面是goodtry!,这一眼看着就不像凯撒,所以直接将得出的奇特编码丢进工具:随波逐流,中进行覆盖式解码即可;

一下就看见了
至此;
ctf{Saesars_vacation}
RSA
n1=143786356117385195355522728814418684024129402954309769186869633376407480449846714776247533950484109173163811708549269029920405450237443197994941951104068001708682945191370596050916441792714228818475059839352105948003874426539429621408867171203559281132589926504992702401428910240117807627890055235377744541913
n2=119235191922699211973494433973985286182951917872084464216722572875998345005104112625024274855529546680909781406076412741844254205002739352725207590519921992295941563460138887173402493503653397592300336588721082590464192875253265214253650991510709511154297580284525736720396804660126786258245028204861220690641
e1=114194
e2=79874
c1=39479494167559452654985203289943719259163299251143220210309279768527498133064312809391876988552192522859264358652395407629640466082031052656165869397115318550484593316249054547664541873839700453293616924050629495860848690688870172047629969577393843044814764071500077651746511098271700607708161262328875272901
c2=40021890693634802149455301480516680638387865544579062658450227396887653003943965894831376566469207517639996015081669502676021814746137321282912913041491783405771352022999065383538465160772628190865722102773656005841880894373415342052123730741647940772923577126372141812876272857339232055779588277573908481700
暂无
crypto3
暂无,附件已打包完毕
相关文章:
2024 睿抗机器人开发者大赛(RAICOM)-【网络安全】CTF 部分WP
文章目录 一、前言二、MICS你是黑客么循环的压缩包Goodtime 三、WEBpy 四、Crypto变异凯撒RSAcrypto3 一、前言 WP不完整,仅供参考! 除WEB,RE,PWN外,其余附件均已打包完毕 也是一个对MISC比较友好的一个比赛~ 123网…...
idea 无法输入中文 快速解决
idea在某些情况会出现无法输入中文的情况,我们不去深究内部原因,直接上解决方案: 1、点击菜单help->Edit Custom VM Options 2、最后一行,追加: -Drecreate.x11.input.methodtrue 、 3、重启...
掌握ElasticSearch(五):查询和过滤器
一、查询和过滤器的区别 在 Elasticsearch 中,查询(Query)和过滤器(Filter)是用于检索和筛选数据的重要组成部分。它们虽然都能用来查找文档,但在性能和用法上有所不同。下面详细介绍查询和过滤器的概念以…...
自学[vue+SpringCloud]-012-SpringCloud工程发送邮件
文章目录 前言一、配置QQ邮箱1.1 设置1.2 获取授权码 二、服务发送邮件2.1 引入依赖包2.2 新建AlarmMessageDto2.3 增加controller代码2.4 main方法测试 总结 前言 skywalking监控通过webhook调用SpringCloud服务接口,接口中发送告警邮件。 一、配置QQ邮箱 1.1 设…...
STM32通信协议-I2C
目录 一,IC2的协议规则 I2C总线是PHILIPS公司开发的两线式串行总线,I2C总线主要解决了单片机一对多通信的问题 两根通信线:SCL,SDA,同步,半双工通信,支持数据应答机制,支持总线挂载多设备。 …...
廉颇老矣尚能饭否,实践甘肃数据挖掘挑战赛作物与杂草的智能识别,基于YOLOv3全系列【tiny/l/spp】参数模型开发构建田间低头作物杂草智能化检测识别模型
一、背景 田间杂草的有效管理是现代农业生产中面临的重要挑战之一。杂草不仅竞争作物的养分、 水分和阳光,还可能成为害虫和病原体的寄主,从而降低农作物的产量和品质。因此,开发 高效、精确的杂草检测和管理系统对于提高农业生产效率、降低化…...
基于Django+Python的宾馆管理系统设计与实现
项目运行 需要先安装Python的相关依赖:pymysql,Django3.2.8,pillow 使用pip install 安装 第一步:创建数据库 第二步:执行SQL语句,.sql文件,运行该文件中的SQL语句 第三步:修改源…...
MySQL--mysql的安装
1.Linux上mysql的安装: Ubuntu下: (1)安装前首先切换到管理员身份:sudo su (2)然后执行命令:apt install mysql-server (注意:装的是服务器端,客户端自动就安装了) (3)执行过程中按y; 2.Mysql初始化配置 注意,一定是sudo su,必须是管理员才能进行Mysql的初始化设置; 初始化…...
qt 构建、执行qmake、运行、重新构建、清除
qt右键功能有 构建、执行qmake、运行、重新构建、清除,下面简单介绍一下各个模块的作用。 1. 执行qmake qmake是一个工具, 它根据pro文件生成makefile文件,而makefile文件中则定义编译与连接的规则。pro文件中定义了头文件,源文件…...
微软发布 Win11 22H2/23H2 十月可选更新KB5044380!
系统之家于10月23日发出最新报道,微软针对Win11 22H2和23H2用户,发布了10月可选更新KB5044380,用户安装后版本号升至22621.4391和22631.4391。本次更新开始推出屏幕键盘的新游戏板键盘布局,支持用户使用Xbox控制器在屏幕上移动和键…...
TensorFlow面试整理-TensorFlow 基础概念
在学习和准备 TensorFlow 时,了解基础概念是至关重要的。以下是 TensorFlow 的一些核心基础概念: 1. Tensor (张量) ● 定义:张量是 TensorFlow 中的核心数据结构。它是一个多维数组,可以表示标量、向量、矩阵以及更高维的数组。张量在数学上与矩阵非常相似,但可以具有任意…...
Java实现HTTP代理的技巧与方法
在互联网时代,代理IP已经成为了网络访问中不可或缺的一部分。无论是为了保护隐私,还是为了访问特定的网络资源,代理IP都能发挥重要作用。那么,如何在Java中实现HTTP代理呢?本文将带您逐步了解这个过程。 什么是HTTP代…...
MFC图形函数学习02——绘制像素点函数
再次强调一下,我们这里学习的MFC图形函数,是指绘制二维图形的函数。一般来说,一个二维图形组成的基本要素是点、线、面以及相关的颜色。在本文中,将学习绘制像素点函数,与绘制像素点相关的其它基础知识也随着绘图函数学…...
Oracle CONNECT BY、PRIOR和START WITH关键字详解
Oracle CONNECT BY、PRIOR和START WITH关键字详解 1. 基本概念2. 数据示例3. SQL示例3.1. 查询所有员工及其上级3.2. 显示层次结构3.3. 查询特定员工的子级 4. 结论 在Oracle数据库中,CONNECT BY、PRIOR和START WITH关键字主要用于处理层次结构数据,例如…...
gateway 整合 spring security oauth2
微服务分布式认证授权方案 在分布式授权系统中,授权服务要独立成一个模块做统一授权,无论客户端是浏览器,app或者第三方,都会在授权服务中获取权限,并通过网关访问资源 OAuth2的四种授权模式 授权码模式 授权服务器将授…...
Unity3D学习FPS游戏(1)获取素材、快速了解三维模型素材(骨骼、网格、动画、Avatar、材质贴图)
前言:最近重拾Unity,准备做个3D的FPS小游戏,这里以官方FPS案例素材作为切入。 导入素材和素材理解 安装Unity新建项目新建文件夹和Scene如何去理解三维模型素材找到模型素材素材预制体结构骨骼和网格材质(Material)、…...
Eclipse Java 构建路径
Eclipse Java 构建路径 Eclipse 是一款广受欢迎的集成开发环境(IDE),特别适用于 Java 开发。在 Eclipse 中,构建路径(Build Path)是指编译器在编译项目时搜索类(.class)文件和源代码(.java)文件的路径。正确设置构建路径对于确保项目能够顺利编译和运行至关重要。 …...
FileLink跨网文件摆渡系统:重构跨网文件传输新时代
在数字化浪潮的推动下,企业对于数据的高效利用和安全管理提出了前所未有的要求。面对不同网络环境间的文件传输难题,传统方法往往显得力不从心,不仅效率低下,还存在极大的安全隐患。而FileLink跨网文件摆渡系统的出现,…...
macOS下QuickTime player+Blackhole录视频只录制系统声音
Blackhole是一个虚拟的音频驱动程序,免费的 安装方法: 方法1:通过homebrew安装 前提:你的系统中自己安装了homebrew,没有安装用方法2 系统终端执行下面的命令中的一个: brew install blackhole-2ch 或…...
Vscode + EIDE +CortexDebug 调试Stm32(记录)
{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid830387"version": "0.2.0","configurations": [{"cwd": "${workspaceRoot…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...
【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
