Catf1ag CTF Crypto(六)

前言

Catf1agCTF 是一个面向所有CTF(Capture The Flag)爱好者的综合训练平台,尤其适合新手学习和提升技能 。该平台由catf1ag团队打造,拥有超过200个原创题目,题目设计注重知识点的掌握,旨在帮助新手掌握CTF相关的各种技能 。除了新手题目,平台也包含难度不一的题目,适合不同水平的CTF参与者 。

平台上的题目类型多样,包括WEB、MISC、CRYPTO、LINUX、PWN/ATTACK、REVERSE等,题目分数制度从60分到100分不等,难度从1星到5星 。题目提交时需要包含完整的题目环境、flag以及writeup,以确保题目的完整性和可解性 。

此外,Catf1agCTF平台还提供了一些辅助工具和资源,如在线工具箱、SRC资料和HW资料等,以帮助用户更好地进行学习和实战演练 。平台的网址为 https://catf1ag.cn/,有意向的用户可以通过官方邮箱catf1ag@163.com进行联系 。对于想要加入交流的用户,平台还提供了官方QQ群和频道,方便用户之间的互动和交流 。

需要注意的是,平台上的部分题目可能需要特定的环境配置,例如WEB题目会包含dockerfile,而PWN/ATTACK题目则必须包含dockerfile以确保题目环境的完整性 。对于题目的flag格式,平台有统一的要求,即flag需要以"catf1ag{}"的格式呈现 。

总的来说,Catf1agCTF是一个资源丰富、适合各个水平CTF爱好者的训练平台,无论是新手还是有经验的参与者,都能在这里找到适合自己的学习和提升机会

一、RSA-3

打开靶场

n1= 183469842288888698417653802680141427113
c1= 164902072322430301806156830767158214618
n2= 132129814650346877352056990357711290601
c2= 72639976324405495408757557698962328431
n3= 231012220957834183374915196020656181347
c3= 43776935818299645885303359439033653256
import gmpy2
import libnumn1 = 183469842288888698417653802680141427113
c1 = 164902072322430301806156830767158214618
n2 = 132129814650346877352056990357711290601
c2 = 72639976324405495408757557698962328431
n3 = 231012220957834183374915196020656181347
c3 = 43776935818299645885303359439033653256def GCRT(mi, ai):# 当前的模数,初始化为第一个模数 mi[0]# 当前的余数,初始化为第一个密文 ai[0]curm, cura = mi[0], ai[0]# 遍历后续的模数 m 和对应的密文 afor (m, a) in zip(mi[1:], ai[1:]):# 计算当前模数和新模数的最大公约数 dd = gmpy2.gcd(curm, m)# 计算余数的差 cc = a - cura# 通过乘以逆元计算出新余数的比例 KK = c // d * gmpy2.invert(curm // d, m // d)# 更新当前的余数 cura,并根据广义中国剩余定理重新计算新的 curmcura += curm * Kcurm = curm * m // dcura %= curmreturn cura % curm, curmC, N = GCRT([n1, n2, n3], [c1, c2, c3])
print(libnum.n2s(int(C)))

二、神秘的坐标

打开靶场

得到一堆数字 

 一组数字代表一个键盘上字母,例如28,表示键盘第二行第八个即 K

catf1ag{keyboradcoordinates}

三、倪九岚

打开靶场

根据题目的谐音”逆九栏“尝试先将字符串逆序,再栅栏解密 

catf1ag{RailfenceCipher} 

四、偶变异了

打开靶场

打开文件如下 

bcwb4g`s;hj>;j:t<%"$q;&)|y6%x-
AG@ELINP

推测经过了异或规则 

a = '''bcwb4g`s;hj>;j:t<%"$q;&)|y6%x-
AG@ELINP'''f = 1for i in a:# ord(i): 将字符 i 转换为其对应的ASCII值(整数)# ord(i) ^ f: 将这个ASCII值与当前的 f 进行XOR操作#   XOR(异或)操作的特性是相同的二进制位会被置0,不同的会被置1。这意味着可以使用XOR操作来加密和解密字符,只要使用相同的关键值# chr(...):将XOR后的值转换回字符# end=''确保所有字符在同一行输出,不加任何额外的换行符print(chr(ord(i) ^ f), end='')f += 1

提交时将 * 改为 - 

五、XOR

打开靶场

用‘flag{’和密文前5个字符异或,推出字符‘GAMEG’,推测是GAME循环异或 

s='!-,"<#}|!#}q#lt#w#`qpw.h~wyvjru#"x.p$s/v%<'x='GAME'result=''for i in range(len(s)):result += chr(ord(s[i]) ^ ord(x[i % 4]))print(result)

六、[原九小时AK赛] 疑惑

打开靶场

题目

简单的异或运算

keys1 = 'welcome_to_nine-ak_match_is_so_easy_!@!'keys2 = '20 4 24 5 94 12 2 36 26 6 49 11 68 15 14 114 12 10 43 14 9 43 10 27 31 31 22 45 10 48 58 4 18 10 38 31 14 97 92'keys2 = keys2.split()flag = ''for i in range(len(keys1)):flag += chr(ord(keys1[i]) ^ int(keys2[i]))print(flag)


http://www.ppmy.cn/news/1516391.html

相关文章

ffmpeg.exe命令行常见应用

基本转换&#xff1a; ffmpeg -i input.mp4 output.avi将input.mp4文件转换为output.avi文件。 提取音频&#xff1a; ffmpeg -i input.mp4 -vn output.mp3从input.mp4文件中提取音频并保存为output.mp3文件。 视频剪辑&#xff1a; ffmpeg -i input.mp4 -ss 00:00:30 -t 00:…

深入探讨Java多线程

我的主页&#xff1a;2的n次方_ 1. 多线程的概念 多线程是指在同一个程序中同时执行多个线程的技术。线程是操作系统能够独立调度和执行的最小单位。在Java中&#xff0c;线程由Thread类来表示&#xff0c;所有的线程都是通过这个类或其子类来创建和控制的。通过合理的多线…

codetop标签动态规划大全C++讲解(上)!!动态规划刷穿地心!!学吐了家人们o(╥﹏╥)o

主要供自己回顾学习&#xff0c;会持续更新&#xff0c;题源codetop动态规划近半年 1.零钱兑换2.零钱兑换II3.面试题08.11.硬币4.单词拆分5.最长递增子序列6.最长递增子序列的个数7.得到山形数组的最少删除次数8.最长公共子序列9.最长重复子数组10.最长等差数列11.最大子数组和…

Docker数据卷使用手册

目录 目标 前言 概念 官方文档 匿名卷&#xff08;Anonymous Volumes&#xff09; 简介 案例 命名卷&#xff08;Named Volumes&#xff09; 简介 案例 目标 掌握Volume命令通过演示案例&#xff0c;理解数据卷种类与各自的用途。 前言 我们在很多网上教程上可以看到…

前端宝典十:webpack性能优化最佳实践

Webpack 内置了很多功能。 通常你可用如下经验去判断如何配置 Webpack&#xff1a; 想让源文件加入到构建流程中去被 Webpack 控制&#xff0c;配置 entry&#xff1b;想自定义输出文件的位置和名称&#xff0c;配置 output&#xff1b;想自定义寻找依赖模块时的策略&#xff…

云计算day31

⼀、Docker 1、Docker介绍.pdf 1、Docker 是什么&#xff1f; Docker 是⼀个开源的应⽤容器引擎&#xff0c;可以实现虚拟化&#xff0c;完全采⽤“沙 盒”机制&#xff0c;容器之间不会存在任何接⼝。 Docker 通过 Linux Container&#xff08;容器&#xff09;技术将任意…

如何在Docker中部署Eureka Server:容器化微服务注册中心

在现代微服务架构中&#xff0c;服务注册和发现是至关重要的。Eureka Server 是一个由 Netflix 开发的开源服务注册和发现工具&#xff0c;它允许微服务实例在运行时动态地注册和查询其他服务。将 Eureka Server 部署在 Docker 中可以提高其可移植性和可维护性&#xff0c;同时…

Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱

Django 后端架构开发&#xff1a;手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱接入 &#x1f31f; 手机短信与邮箱短信验证码的应用场景 在现代应用中&#xff0c;短信和邮箱验证码是用户验证和安全管理的关键组成部分。它们广泛应用于注册、登录、找回密码等场景&#xf…

elasticsearch -- RestClient操作文档

RestClient操作文档 为了与索引库操作分离&#xff0c;我们再次参加一个测试类&#xff0c;做两件事情&#xff1a; 初始化RestHighLevelClient我们的酒店数据在数据库&#xff0c;需要利用IHotelService去查询&#xff0c;所以注入这个接口 package cn.itcast.hotel;import…

机器学习:opencv图像识别--图片专项

目录 前言 一、读取图片 1.安装opencv库 2.读取彩色图片 3.读取灰度图 二、RGB 1.RGB的概念 2.颜色通道&#xff1a; 3.图像表示 4.代码实现单通道图像 三、ROI 1.代码实现 四、图片打码 五、图片组合 六、图片缩放 总结 前言 OpenCV&#xff08;Open Source C…

Nginx 丢弃指定响应头

如果想丢弃服务器响应回来的某个头&#xff0c;可以使用Nginx进行代理该服务器&#xff0c;再进行配置 Nginx中丢弃指定响应头 Nginx 中拦截某个响应并丢弃特定的响应头&#xff0c;可以使用 proxy_hide_header 指令。 修改 Nginx 配置 在您的 Nginx 配置文件中&#xff08…

WPF—DispatcherTimer定时器

WPF—DispatcherTimer定时器 WPF界面是没有timer控件的,Winform有。但是我们可以使用DispatcherTimer来实现定时器。 在WPF应用程序中&#xff0c;DispatcherTimer是一种常用的计时器工具&#xff0c;它可以在指定的时间间隔触发事件。以下是一个简单的使用DispatcherTimer的…

SpringBoot项目如何使用和打包本地第三方jar包

有时候我们引用了maven仓库不存在的第三方jar&#xff0c;项目打包后jar包里没有引用的jar&#xff0c;解决方法往下看。 一、目录介绍 SpringBoot项目通过idea打成jar包部署。 将项目打成jar包后&#xff0c;所有引用的jar都存在于BOOT-INF\lib下&#xff1a; 如果存在本地…

汽车冷却液温度传感器的作用与检测方法

汽车冷却系统中的关键部件之一是冷却液温度传感器&#xff0c;它的位置通常在发动机的缸体或水泵附近&#xff0c;与冷却液直接接触。该传感器的作用是监测发动机冷却液的温度&#xff0c;它采用负温度系数热敏电阻&#xff0c;这种电阻随温度升高而降低。当冷却液温度达到预定…

Jmeter 性能测试实战教程

一、性能测试流程 进行性能测试前&#xff0c;我们首先需要了解一下性能测试大致分为哪些流程&#xff0c;这样才能保证测试过程有序开展&#xff1a; 1、性能需求分析 了解哪些业务需要&#xff08;一般都是用户量大的核心业务&#xff0c;比如登录&#xff0c;查询等功能&…

【AI学习】LLaMA模型的微调成本有几何?

在前面文章《LLaMA 系列模型的进化&#xff08;二&#xff09;》中提到了Stanford Alpaca模型。 Stanford Alpaca 基于LLaMA (7B) 进行微调&#xff0c;通过使用 Self-Instruct 方法借助大语言模型进行自动化的指令生成&#xff0c;Stanford Alpaca 生成了 52K 条指令遵循样例数…

leetcode滑动窗口问题

想成功先发疯&#xff0c;不顾一切向前冲。 第一种 定长滑动窗口 . - 力扣&#xff08;LeetCode&#xff09;1456.定长子串中的元音的最大数目. - 力扣&#xff08;LeetCode&#xff09; No.1 定长滑窗套路 我总结成三步&#xff1a;入-更新-出。 1. 入&#xff1a;下标为…

如何禁止编辑PDF文件?推荐两种方法!

在日常工作中&#xff0c;我们经常会遇到需要分享重要的PDF文件的情况&#xff0c;但又希望文件内容不被随意更改。为此&#xff0c;设置PDF文件的修改限制是一个非常有效的措施。今天分享两种常见的禁止修改PDF的方法&#xff0c;一起来看看如何设置。 方法一&#xff1a;使用…

JavaWeb学习——事务管理、AOP学习

目录 一、事务管理 1、事务回顾 2、事务进阶 a、rollbackFor属性 b、propagation属性 二、AOP学习 1、基础了解 2、AOP进阶 一、事务管理 1、事务回顾 事务的概念&#xff1a;事务必须服从ACID原则。ACID指的是原子性&#xff08;atomicity&#xff09;、一致性&#xf…

UE5 多个类选择界面生成。解决方案思路。

中控器CC 》用户界面控制器UI_CC 》用户界面UI_Inst 生成 CC使用接口&#xff0c;通知UI_CC开始生成UI_Inst。 蓝图函数库编写判断是否存在和创建UI的蓝图。&#xff08;此处略&#xff09; UI_CC生成时&#xff0c;userwidget使用接口&#xff0c;注册UI_CC的用户控件的控件…