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

暂无,附件已打包完毕

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鲸鱼优化算法(Whale Optimization Algorithm, WOA)原理与MATLAB例程

鲸鱼优化算法(Whale Optimization Algorithm, WOA)是一种基于鲸鱼捕食行为的智能优化算法。它模拟了座头鲸在狩猎时的“气泡网”捕食策略。 文章目录 1.适应度函数2. 更新公式2.1 突袭行为2.2 螺旋更新3.线性递减参数4. 边界处理 MATLAB 实现示例代码说明…

C语言程序设计:现代设计方法习题笔记《chapter3》

第一题 ​ 代码示例&#xff1a; #include<stdio.h>int main() {printf("Enter a date&#xff08;mm/dd/yyyy&#xff09;: ");int day, month, year;scanf_s("%d/%d/%d", &month, &day, &year);printf("%04d%02d%02d", yea…

一款好用的搜索软件——everthing(搜索比文件资源管理器快)

everthing官网链接 在官网选择下载 1.下载后双击打开 2.点击OK&#xff08;需要其他语言自己选择&#xff09; 3.选择安装位置&#xff08;路径最好别带中文和空格&#xff09; 继续点击下一步 4. 点击下一步 5.继续点击安装 6.然后就完成了 7.点击打开然后就可以搜索了

Elastic Stack简介

本文内容参考了田雪松老师编著的《Elastic Stack应用宝典》 从ELK到Elastic Stack ELK是三个单词的首字母缩写&#xff0c;即Elasticsearch、Logstash和Kibana。 Elasticsearch用于数据存储与检索Logstash用于数据传输与清洗Kibana则用于数据可视化等领域 Elasticsearch的第…

AnaTraf | 网络性能监控系统NPM:提升网络性能与业务连续性

AnaTraf 网络性能监控系统NPM | 全流量回溯分析 | 网络故障排除工具 网络系统非常复杂&#xff0c;管理和维护它们也越来越具有挑战性。为了确保网络性能和业务的持续稳定运行&#xff0c;IT运维团队需要对网络进行实时监控、优化和快速排查故障。本文将围绕网络性能监控系统&…

raidrive 访问搭建的ftp服务报错超时的情况

尝试了很久&#xff0c;包括改用户权限和密码&#xff0c;后面根据ftp日志&#xff0c;查到用户登录是正常的 /var/log/vsftpd.log 就知道&#xff0c;不是密码问题也不是服务器端的问题&#xff0c;通过多次尝试发现是被动模式的问题&#xff0c;被动模式会通过其他端口进行交…

ChatGPT实现旅游推荐微信小程序

随着旅游行业的快速发展&#xff0c;个性化推荐已成为提升用户体验的重要手段。通过AI技术&#xff0c;提供一个智能旅游推荐小程序&#xff0c;使用户能够轻松获取定制化的旅行建议。 项目概述 项目目标 开发一个AI旅游推荐小程序&#xff0c;基于用户输入的旅行偏好&#…

前后端请求、返回数据的多种方式

Springboot项目的业务逻辑 &#x1f319;项目基本结构&#xff1a; 通常情况下&#xff0c;我们在搭建后端项目的时候&#xff0c;处理业务逻辑我们需要用到Controller,Service,Mapper(mybatis,mybatis-plus)&#xff0c;Entry各层之间的相互调用来完成&#xff0c;还有就是我…

Docker部署MySQL主从复制

1. 主从复制概念及优势 1.1 概念 MySQL主从复制是一种数据库复制技术&#xff0c;它允许将一个数据库服务器&#xff08;主服务器&#xff09;上的数据更改复制到一个或多个数据库服务器&#xff08;从服务器&#xff09;。这种技术在数据库管理和维护中扮演着重要的角色&…

Ubuntu 2张4090,显卡安装,无法双屏显示

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; Ubuntu20.04 安装nvidia显卡 在已经安装好nvidia显卡的情况下&#xff1a; 单屏幕无法修改屏幕分辨率 无法双屏显示 问题描述 提示&#xff1a;这里描述项目中遇到的问题&#xff1a; 单屏幕无法…

【Origin科技绘图】最新Origin2024中文版软件安装教程

Origin是由OriginLab公司开发的一个科学绘图、数据分析软件,支持在MicrosoftWindows下运行。Origin支持各种各样的2D/3D图形。Origin中的数据分析功能包括统计,信号处理,曲线拟合以及峰值分析。Origin中的曲线拟合是采用基Levernberg-Marquardt算法(LMA)的非线性最小二乘法拟合…

理工科考研想考计算机,湖南大学、重大、哈工大威海、山东大学,该如何选择?

C哥专业提供——计软考研院校选择分析专业课备考指南规划 计算机对理工科同学来说&#xff0c;还是性价比很高的&#xff0c;具有很大的优势&#xff01; 一、就业前景广阔 高需求行业 在当今数字化时代&#xff0c;计算机技术几乎渗透到了各个领域&#xff0c;无论是互联网…

LabVIEW提高开发效率技巧----插入式架构

随着LabVIEW项目规模的扩大和系统复杂性的增加&#xff0c;传统的单一代码架构难以应对后期维护和功能扩展的需求。插入式架构&#xff08;Plug-In Architecture&#xff09;作为一种模块化设计方式&#xff0c;通过动态加载和运行子VI&#xff0c;使系统功能更加灵活、模块化&…

Django从请求到响应

视图 一个视图函数&#xff0c;简称视图&#xff0c;是一个简单的Python函数 def view_name() 定义视图函数view_name() URL的常用配置 path函数&#xff1a; path(route,view,name,**kwargs) route&#xff1a;RUL匹配规则 view&#xff1a;视图函数 name&#xf…

【部署篇】RabbitMq-03集群模式部署

一、准备主机 准备3台主机用于rabbitmq部署&#xff0c;文章中是在centos7上安装部署rabbitmq3.8通过文章中介绍的方式可以同样在centos8、centos9上部署&#xff0c;只需下载对应的版本进行相同的操作。 主机IP角色说明192.168.128.31种子节点192.168.128.32普通节点192.16…

React 分装webSocket

背景 AI 实时对话 需要流式数据 React Hooks 写法。新建WebSocket.tsx 放在根目录components import { useCallback, useRef, useState } from react;type MessageHandler (message: MessageEvent) > void; type ErrorHandler (event: Event) > void;export functi…

技术成神之路:设计模式(二十二)命令模式

介绍 命令模式&#xff08;Command Pattern&#xff09;是一种行为设计模式&#xff0c;允许将请求&#xff08;命令&#xff09;封装为对象&#xff0c;从而使您可以使用不同的请求、队列或记录请求日志&#xff0c;以及支持可撤销操作。 1. 定义 命令模式将一个请求封装为一个…

S32DS for ARM GPIO实践

S32DS操作&#xff1a; 一、新建项目 打开S32DS&#xff0c;FIle–>NEW–> S32DS Application Project选择对应芯片&#xff0c;写入项目名然后下一步 选择对应的SDK&#xff0c;Debugger选带有PE字眼的&#xff0c;点击完成 配置GPIO&#xff0c;双击Components界面下的…

【MySQL】详解MySQL数据类型

一、数据类型 各类型的数值范围&#xff1a; 在MySQL中&#xff0c;整型可以指定是有符号的和无符号的&#xff0c;默认是有符号的。 可以通过UNSIGNED来说明某个字段是无符号的。对于int类型可能存放不下的数据&#xff0c;尽量不使用unsigned&#xff0c;unsigned int 同样可…

pytorch dataloader学习

import torch from torch.utils.data import Dataset, DataLoader import numpy as np torch.manual_seed(1) # 自定义数据集 class CustomDataset(Dataset):def __init__(self):# 创建一些示例数据&#xff08;100个样本&#xff0c;每个样本包含10个特征&#xff09;self.dat…