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?1 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# 尋找滿足A2 - N = x2的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.pswp.cn/news/905022.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/905022.shtml
英文地址,請注明出處:http://en.pswp.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 的基礎概念…