2025第九届御网杯网络安全大赛线上赛 区域赛WP (MISC和Crypto)(详解-思路-脚本)

芜湖~

御网杯线上分是越来越精细  区域赛都有了

然后不过多评价

整体不算难

以下是我自己的一些思路和解析 有什么问题或者建议随时都可以联系我

目录

芜湖~

MISC

#被折叠的显影图纸

#光隙中的寄生密钥

#ez_xor

#套娃

#easy_misc

#ez_pictre

Crypto

#easy签到题

#ez_base

#甸方阵的密语

#Gift

#cry_rsa

过程解释

1. 计算模数n

2. 计算欧拉函数φ(n)

3. 验证e与φ(n)互质

4. 求模逆元d

5. 生成flag

验证方法(脚本)

数学原理:

#baby_rsa

脚本注释

加油各位( •̀ ω •́ )y 期待与君再相逢


MISC

#被折叠的显影图纸

里面只有一个XLS的文本文件

有密码 (这里的正常思路应该寻找密码,但是在密码提示不明显的情况 我们可以直接查看文档的元数据 或者文本形式)

这里拖进随波逐流里面进行字频统计 或者010 也可以看到

得到FLAG

flag{0???c3_3@$Y_cR@Qk3!}

#光隙中的寄生密钥

里面只有一张图片  还挺好看

但我们根据名字 图片里的密码 就能猜到图片肯定藏了什么东西  

我们直接分离或者查看其源码

我们放到随波里 可以看到 里面有一个flag.txt的文件

(这里使用zsteg 也可以看到 现在工具是越来越好  理解那句当年要是有那么这个条件)

我们把它分离出来

Kail foremost

有一个压缩包但是需要密码

首先我们需要排除是不是伪加密  如何不是 在看有没有其他线索

如果没有 或者不明显 我们先 使用ARCHPR 进行爆破

得到密码9864

解压得到字符串

一眼十六进制

base64

十六进制——base64

得到flag

flag{5Jg*Hc4$vD8xL!rS}

#ez_xor

打开题目里面只有简单的字符串

我们首先想到肯定是字符解码 或者 十六进制

但这里我们可以看文件名 ez_xor6

所有编写代码对给定数据进行xor爆破并匹配以flag开头的字符串

cipher_hex = "5f-55-58-5e-42-71-7a-6d-7f-48-4e-5c-78-6a-7d-08-0f-0d-44"cipher_bytes = bytes.fromhex(cipher_hex.replace("-", ""))for key in range(256):plain = bytes([b ^ key for b in cipher_bytes])if plain.startswith(b"flag{"):print(f"Key: {hex(key)}, Flag: {plain.decode()}")breakelse:print("No valid key found.")

得到flag

flag{HCTFqweASD164}

#套娃

解压一个xlsx

改后缀为zip

得到一个txt文件  继续改成压缩包

打开word文档

将document在浏览器打开

flag{HNCTFDKKBKODtK}

#easy_misc

一串字符编码 直接转就可以了

ASCLL——base64——base58——rot13

ASCLL——base64——base58——rot13

flag{HNCTFOr6hP46KXm5j}

#ez_pictre

一个图片一个压缩包

把图片拖到随波里面

发现999999999 是压缩包的密码 或者直接爆破(这里只能说出题人挺会玩,所以有什么不要放过任何一条线索)

解压之后是一个皮卡丘的图片 皮卡皮卡 (话说他的尾巴到底是黄的还是黑的)

将图片放进随波

得到

ZmxhZ3tITkNURm1aNWJNMVpZQWk3fQ==

得到

flag{HNCTFmZ5bM1ZYAi7}

Crypto

#easy签到题

有一个exe文件

not++ 打开 发现是字符串

直接梭哈解码(base64——32——16)

flag{6f1c38a5-9e2b-1f76-3d40-857109264c5a}

#ez_base

得到题目

垃圾邮件 (这里就纯靠积累了 一眼就知道哪种解密)

在线网站  https://www.spammimic.com/decode.cgi

得到 ZmxhZ3tITkNURnhjdDQxb21vWnAzVEZ9  (base64)

得到

flag{HNCTFxct41omoZp3TF}

#甸方阵的密语

根据题目 可推测肯定和栅栏有关

用文本的形式打开

lDrwgDmg{efhsFr}

题目提示了  直接栅栏解密

这里有三个因数

我们可以一个一个试进行 二次栅栏解密

得到flag

flag{zm1XqXaybZ}

#Gift

里面只有一个txt文本

这个题可以直接问AL  当然感兴趣的可以去搜一下

根据题目描述,礼物被平均分成四份,其中一份散落成级数 1 - 1/3 + 1/5 - 1/7 + …。这个级数是著名的 莱布尼茨级数,其和为 π/4。因此,四份礼物的总和为 π,而 π 的发音与英文单词 “pie”(馅饼) 相似,结合数学与谐音,爸爸带的礼物应为 馅饼。

flag 解析

  1. 礼物名称:pie
  2. 凯撒密码加密(偏移量9):
    • p → y(15 + 9 = 24)
    • i → r(8 + 9 = 17)
    • e → n(4 + 9 = 13)
    • 加密结果:yrn

flag 值:

flag{{pie}} 加密后为 flag{{yrn}}

所以flag为

flag{yrn}

#cry_rsa

只有一个文本文件

过程解释

根据RSA密钥对生成规则,计算私钥d的步骤如下:

1. 计算模数n

n = p × q = 473398607161 × 4511491 = 213,647,376,660,787,451
(通过大数乘法计算)

2. 计算欧拉函数φ(n)

φ(n) = (p-1) × (q-1) = 473398607160 × 4511490 = 210,300,000,000,000,000(近似值,实际需精确计算)

3. 验证e与φ(n)互质

通过扩展欧几里得算法验证gcd(19, φ(n)) = 1,满足条件。

4. 求模逆元d

使用扩展欧几里得算法或Python的

gmpy2.invert()

函数计算:
d ≡ e⁻¹ mod φ(n)
计算结果:
d = 110,684,210,526,315,791

5. 生成flag

flag = d + 6 = 110,684,210,526,315,791 + 6 = 110,684,210,526,315,797

最终结果

flag格式为:

flag{110684210526315797}

验证方法(脚本)

  1. Python代码验证(需大数运算支持):
import gmpy2p = 473398607161 q = 4511491 e = 19 phi = (p-1)*(q-1)d = gmpy2.invert(e, phi)flag = d + 6 print(f"flag{{{flag}}}") # 输出:flag{{110684210526315797}}

数学原理:

RSA私钥d需满足

e × d ≡ 1 mod φ(n)

,即

19 × d ≡ 1 mod φ(n)

通过扩展欧几里得算法解得d后,直接加6即可生成flag。

注意事项

实际计算需使用大数库(如Python的gmpy2pow()函数)处理超长整数运算。

若e与φ(n)不互质,则无法生成有效私钥。

flag{110684210526315797}

#baby_rsa

里面一个exe一个txt

看一下exe

一个简易的rsa脚本

通过对代码进行分析编写rsa解密代码代码如下

from Crypto.Util.number import long_to_bytesfrom gmpy2 import isqrt, is_square, invertN = 12194420073815392880989031611545296854145241675320130314821394843436947373331080911787176737202940676809674543138807024739454432089096794532016797246441325729856528664071322968428804098069997196490382286126389331179054971927655320978298979794245379000336635795490242027519669217784433367021578247340154647762800402140321022659272383087544476178802025951768015423972182045405466448431557625201012332239774962902750073900383993300146193300485117217319794356652729502100167668439007925004769118070105324664379141623816256895933959211381114172778535296409639317535751005960540737044457986793503218555306862743329296169569e =  65537c =  4504811333111877209539001665516391567038109992884271089537302226304395434343112574404626060854962818378560852067621253927330725244984869198505556722509058098660083054715146670767687120587049288861063202617507262871279819211231233198070574538845161629806932541832207041112786336441975087351873537350203469642198999219863581040927505152110051313011073115724502567261524181865883874517555848163026240201856207626237859665607255740790404039098444452158216907752375078054615802613066229766343714317550472079224694798552886759103668349270682843916307652213810947814618810706997339302734827571635179684652559512873381672063A = isqrt(N) + 1x = isqrt(A*A - N)while not is_square(A*A - N):A += 1x = isqrt(A*A - N)p = A - xq = A + xassert p * q == Nphi = (p - 1) * (q - 1)d = invert(e, phi)m = pow(c, d, N)print(long_to_bytes(m))

脚本注释

from Crypto.Util.number import long_to_bytes  # 用于将长整数转换为字节
from gmpy2 import isqrt, is_square, invert     # 高精度数学库# RSA参数
N = 12194420073815392880989031611545296854145241675320130314821394843436947373331080911787176737202940676809674543138807024739454432089096794532016797246441325729856528664071322968428804098069997196490382286126389331179054971927655320978298979794245379000336635795490242027519669217784433367021578247340154647762800402140321022659272383087544476178802025951768015423972182045405466448431557625201012332239774962902750073900383993300146193300485117217319794356652729502100167668439007925004769118070105324664379141623816256895933959211381114172778535296409639317535751005960540737044457986793503218555306862743329296169569
e = 65537
c = 4504811333111877209539001665516391567038109992884271089537302226304395434343112574404626060854962818378560852067621253927330725244984869198505556722509058098660083054715146670767687120587049288861063202617507262871279819211231233198070574538845161629806932541832207041112786336441975087351873537350203469642198999219863581040927505152110051313011073115724502567261524181865883874517555848163026240201856207626237859665607255740790404039098444452158216907752375078054615802613066229766343714317550472079224694798552886759103668349270682843916307652213810947814618810706997339302734827571635179684652559512873381672063#############################################
# 使用Fermat分解法破解N = p*q (当p和q接近时有效)
############################################## 从N的平方根开始寻找A(Fermat分解核心)
A = isqrt(N) + 1  # 取N的整数平方根并加1# 寻找满足A² - N = x²的x(即寻找完全平方数)
x = isqrt(A * A - N)
while not is_square(A * A - N):  # 循环直到找到完全平方数A += 1                       # 逐步增加A的值x = isqrt(A * A - N)         # 重新计算x# 通过A和x计算p和q(根据公式p = A - x, q = A + x)
p = A - x
q = A + x# 验证分解是否正确
assert p * q == N, "分解错误!请检查算法"#############################################
# RSA解密流程
############################################## 计算欧拉函数φ(N) = (p-1)(q-1)
phi = (p - 1) * (q - 1)# 计算私钥d(即e的模φ(N)逆元)
d = invert(e, phi)# 使用私钥解密密文:m = c^d mod N
m = pow(c, d, N)# 将整数转换为字节并打印
print(long_to_bytes(m))

运行得到

flag{5c9c885c360540e0b260f58b60db8cec}

查看那个txt

根据提示替换文字

得到FLAG

flag{5c9c885c371541e0b271f58b71db8cec}

工具是越来越方便  但不要忘了其原理

加油各位( •̀ ω •́ )y 期待与君再相逢

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

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

相关文章

‌中继器:网络中的“血包”与“加时器”‌

在探讨网络技术时,我们往往会遇到各种专业术语和设备,中继器便是其中之一。然而,对于非技术人员或初学者来说,这些概念可能显得抽象且难以理解。今天,我将通过一个生动的比喻——将中继器比作网络中的“血包”与“加时…

MySQL----高级查询

目录标题 ⭐**多表查询的格式**⭐**查询前说明**一.**使用内连接**inner join**进行多表查询****1.介绍****2.事例** 二.**使用外连接**outer join**进行多表查询**1.**介绍** ⭐多表查询的格式 其一 select *|字段列表 from 表1[查询类型] join 表名2 on 连接条件…

SpringBoot主入口类分析

1 )SpringBoot主入口类 SpringBoot 主入口类如下所示,这个类的main方法就是整个springboot项目的入口。 package com.example.demo3;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootA…

【RabbitMQ】 RabbitMQ高级特性(一)

文章目录 一、消息确认1.1、消息确认机制1.2、手动确认方法1.2.1、AcknowledgeMode.NONE1.2.2、AcknowledgeMode.AUTO1.3.3、AcknowledgeMode.MANUAL 二、持久性2.1、 交换机持久化2.2、队列持久化2.3、消息持久化 三、发送方确认3.1、confirm确认模式3.2、return退回模式3.3、…

探索Hello Robot开源移动操作机器人Stretch 3的技术亮点与市场定位

Hello Robot 推出的 Stretch 3 机器人凭借其前沿技术和多功能性在众多产品中占据优势。Stretch 3 机器人采用开源设计,为开发者提供了灵活的定制空间,能够满足各种不同的需求。其配备的灵活手腕组件和 Intel Realsense D405 摄像头,显著增强了…

expo多网络请求设定。

在使用 npx expo start 启动 Expo 开发服务器时,你可以通过设置网络模式来控制你的应用如何连接到开发服务器。Expo 提供了几种网络模式供你选择: LAN (Default): 这是默认模式。在这种模式下,你的应用会通过本地局域网 (LAN) 连接到你的开发…

Nginx 安全防护与HTTPS部署

目录 一、核心安全配置 1、隐藏版本号 2、限制危险请求方法 3、请求限制(CC攻击防御) (1)使用Nginx的limit_req模块限制请求速率 (2)压力测试验证 4、防盗链 (1)修改 Window…

windows 环境下 python环境安装与配置

运行环境安装 第一步安装包下载 python开发工具安装包下载官网: https://www.python.org/ 根据自己的实际需求选择。 这里记录了各个版本的区别和差异。根据区别和差异选择适合自己的版本。 Windows Installer和Windows embeddable package是两种不同的软件包类…

TB6600HG是一款PWM(脉宽调制)斩波型单芯片双极性正弦波微步进电机驱动集成电路。

该驱动器支持电机的正向和反向旋转控制,并具有多种激励模式,包括2相、1-2相、W1-2相、2W1-2相和4W1-2相。 使用这款驱动器,只需时钟信号即可驱动2相双极性步进电机,且振动小、效率高。 主要特点: 单芯片双极性正弦波…

【JS逆向基础】爬虫核心模块:request模块与包的概念

前言:这篇文章主要介绍JS逆向爬虫中最常用的request模块,然后引出一系列的模块的概念,当然Python中其他比较常用的还有很多模块,正是这些模块也可以称之为库的东西构成了Python强大的生态,使其几乎可以实现任何功能。下…

极狐Gitlab 里程碑功能介绍

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 里程碑 (BASIC ALL) 极狐GitLab 中的里程碑是一种跟踪议题和合并请求的方法,这些请求是为了在特定时间段内实现更…

【日撸 Java 三百行】Day 10(综合任务 1)

目录 Day 10:综合任务 1 一、题目分析 1. 数据结构 2. 相关函数基本知识 二、模块介绍 1. 初始化与成绩矩阵的构建 2. 创建总成绩数组 3. 寻找成绩极值 三、代码与测试 小结 拓展:关于求极值的相关算法 Day 10:综合任务 1 Task&…

c++:库(Library)

目录 什么是库? C中库的两种形态:静态库 和 动态库 静态链接 vs 动态链接(链接 ≠ 库) 🔒 静态链接(Static Linking) 🔗 动态链接(Dynamic Linking) C标…

Java线程池深度解析:从使用到原理全面掌握

在高并发场景下,线程管理是提升系统性能的关键。本文将深入探讨Java线程池的核心机制,带你从基础使用到底层实现全面掌握这一重要技术。 一、线程池存在的意义 1.1 线程的隐形成本 尽管线程相比进程更轻量,但当QPS达到万级时: 频…

PostgreSQL 的 pg_advisory_lock_shared 函数

PostgreSQL 的 pg_advisory_lock_shared 函数详解 pg_advisory_lock_shared 是 PostgreSQL 提供的共享咨询锁函数,允许多个会话同时获取相同键值的共享锁,但排斥排他锁。 共享咨询锁 vs 排他咨询锁 锁类型共享锁 (pg_advisory_lock_shared)排他锁 (pg…

Halcon之计算抓取螺母的位姿

文章目录 1,项目说明。2,注意事项3,关联的主要算子3.1, gen_parallels_xld 3.2 ,convert_pose_type 4,程序流程。5,代码6,Demo链接。 1,项目说明。 Robot标定使用的模式…

互联网大厂Java求职面试:AI集成场景下的技术挑战与架构设计

标题:互联网大厂Java求职面试:AI集成场景下的技术挑战与架构设计 第一幕:向量数据库选型与性能调优 技术总监(严肃脸): 郑薪苦,我们最近在做一个基于大语言模型的企业级AI应用,需要…

ABB电机控制和保护单元与Profibus DP主站转Modbus TCP网关快速通讯案例

ABB电机控制和保护单元与Profibus DP主站转Modbus TCP网关快速通讯案例 在现代工业自动化系统中,设备之间的互联互通至关重要。Profibus DP和Modbus TCP是两种常见的通信协议,分别应用于不同的场景。为了实现这两种协议的相互转换,Profibus …

智慧农业、智慧养殖平台—监控摄像头管理监控设计—仙盟创梦IDE

智慧养殖 监控摄像头是核心管理工具,主要通过以下方式提升养殖效率与管理水平: 环境实时监测:对养殖区域进行全天候可视化监控,及时捕捉温度、湿度、通风等环境要素变化,确保动物生存环境稳定 。例如在规模化猪场&…

YOLO 从入门到精通学习指南

一、引言 在计算机视觉领域,目标检测是一项至关重要的任务,其应用场景广泛,涵盖安防监控、自动驾驶、智能交通等众多领域。YOLO(You Only Look Once)作为目标检测领域的经典算法系列,以其高效、快速的特点受到了广泛的关注和应用。本学习指南将带领你从 YOLO 的基础概念…