国赛部分复现

news2024/12/24 9:05:15

MISC

神秘文件

下载解压后是个pptm文件,内容丰富

使用010打开ppt查看

发现为PK开头,属于压缩包文件。复制粘贴ppt,修改副本后缀为.zip并解压

part1

查看属性,发现奇怪字符

QFCfpPQ6ZymuM3gq

根据提示Bifid chipher,为双歧密码解密

使用Bifid Cipher Decode解码

CyberChef

key为:lanjing

再进行base64解码

得到:Part1:flag{e

part2

第二张ppt内有隐藏内容

点击打开后为

再解压后的压缩包中,找到了.docx文件,同理,010查看将此docx文件为压缩包文件。拷贝后,修改为.zip文件

解压打开压缩包,逐个查找里面的网页文件

在document.xml中,发现以下内容

特殊字符:mQPinNS6Xtm1JGJs

根据提示:凯撒加密,偏移量为:10

base64解码

得到:part2:675efb

part3

将vbaProject.bin文件拖进010后,发现一串编码

i13POMdzEAzHfy4dGS+vUA==

base64解码,RC4解码,再次base64解码

得到:PArt3:3-34

part4

第三张ppt,将图片略微移动,能够看到一串编码

手打下来得到:UGFSdDQ6NmYtNDA=

直接解码得到

PaRt4:6f-40

part5

第五张ppt下有备注

Vm1wR1UxRXhXWGhUV0d4WFlrZG9WMWxVUm1GWFJscHlWMjVrVmxKc2NIaFZiVFZQVkd4S2MxSnFVbGRXTTFKUVdWVmtVMDVyTVVWaGVqQTk=

根据提示,多轮base解码

得到:pArt5:5f-90d

part6

第五张ppt缩小一定比例后,能看到一串编码

或者在压缩包的media文件夹里面,能够更直观的看到编码

UGFyVDY6ZC0y

解码得到:ParT6:d-2

part7

第四张ppt,选择窗口后

看到一串编码:HRSFIQp9ZwWvZj==

以及提示:ROT13(All)

ROT13解码,以及base64解码

得到:PART7=22b3

part8

点击视图,查看ppt母版

似乎有隐藏内容,修改背景颜色,看见所有内容

c1GFSbd3Dg6BODbdl

去掉Bb13后解 base64

cGFSdDg6ODdl

得到:paRt8:87e

part9

第五张ppt,拖走中间的图片后,发现隐藏了一张图片文件,应该是图片隐写,使用图片隐写功能工具查看

或者

打开压缩包里面的media文件夹,找到解压好的完整图片

看见编码:cGFyVDk6ZGVl

解码

得到:parT9:dee

part10

缩小第四周的ppt,发现备注,是一段对话

逐句查看后,发现是维吉尼亚密码

密文:ZYWJbIYnFhq9

密钥:furry

得到:UEFSdDEwOjl9

base64解码

得到:PARt10:9}

将十部分的内容结合在一起

得到flag:

flag{e675efb3-346f-405f-90dd-222b387edee9}

通风机

下载解压,打开附件

得到一个.mwp文件

上网搜索后,得知

mwp是西门子PLC软件程序文件,一般来说我们可以通过西门子MICRO WIN编程软件打开。nwp格式文件也可能是S7-200编程程序文件,它是Lotus WordPro 97 的Smart Master文件,通过S7-200的编程软件,我们可以直接打开nwp格式的编程文件!

S7-200 SMART软件安装 (siemens.com.cn)

使用010打开.mwp文件,发现缺少文件头

补全文件头:47 4A 4B

保存后使用S7-200打开

符号表的用户定义中,发现一串编码

ZmxhZ3syNDY3Y2UyNi1mZmY5LTQwMDgtOGQ1NS0xN2RmODNlY2JmYzJ9

解码得到flag

flag{2467ce26-fff9-4008-8d55-17df83ecbfc2}

盗版软件

题目描述:在网上下了一个盗版软件就中毒了,他从内存中提取了文件和浏览器,请帮助分析;(flag为flag{md5(网站域名+c2地址)},例如flag{md5(baidu.com114.114.114.114)}为flag{ac0997de69c84760c943f59d9c7fc3cf})

下载附件,解压得到

分析 3842.dmp 文件,将后缀名改为 data,使用 gimp 调整参数发现域名

免费开源的图像处理软件GIMP下载安装(Windows)-CSDN博客

发现域名为 winhack.com

直接运行 hacked.exe 生成一个.ss 文件夹,包含一个 loader.exe 和一张图片。

Png 用 stegslove打开,发现红通道有隐写

隐写了一个压缩包,但是有干扰数据,对干扰数据进行清除,编写脚本

import numpy as np
from PIL import Image
import struct

image = Image.open(r"E:\新建文件夹\2024国赛\Day2\Misc--Day2\盗版软件\盗版_047c296e75ae5b4950e2c9fe3c146c24\.ss\output.png")#文件路径

image = image.convert('RGBA')

# 转换图像数据为 numpy 数组
data = np.array(image.getdata(), dtype=np.uint8)

length_bytes = bytearray(data[0:8:2, 0])
data_length = struct.unpack('<I', length_bytes)[0]

extracted_data = bytearray(data[8:8 + (data_length * 2):2, 0])

# 将提取的数据写入文件
with open("1.zip", 'wb') as file:  file.write(extracted_data)

运行脚本,得到压缩包文件

解压获得 .b 文件

放到微步云沙箱分析发现 C2 主机地址 

微步在线云沙箱 (threatbook.com)

复现时,环境已过期,故分析失败

CRYPTO

hash

题目描述:题目内容:你能仅仅通过一个Python2.7自带的hash函数的输出,计算出它的原象的sha384哈希值吗?

附件:

hash.py

#!/usr/bin/python2
# Python 2.7 (64-bit version)
from secret import flag
import os, binascii, hashlib
key = os.urandom(7)
print hash(key)
print int(hashlib.sha384(binascii.hexlify(key)).hexdigest(), 16) ^ int(binascii.hexlify(flag), 16)
 

output.txt

7457312583301101235
13903983817893117249931704406959869971132956255130487015289848690577655239262013033618370827749581909492660806312017

output.txt 的两行数据分别是 hash.py 中的两行输出。

根据源代码逻辑,可以知道首要问题是如何将key 的密文,解密出原文。

第十七届全国大学生信息安全竞赛(初赛)Crypto部分hash题解-CSDN博客

OvO

附件得到task.sage,审计代码。

task.sage

from Crypto.Util.number import *
from secret import flag

nbits = 512
p = getPrime(nbits)
q = getPrime(nbits)
n = p * q
phi = (p-1) * (q-1)
while True:
    kk = getPrime(128)
    rr = kk + 2
    e = 65537 + kk * p + rr * ((p+1) * (q+1)) + 1
    if gcd(e, phi) == 1:
        break
m = bytes_to_long(flag)
c = pow(m, e, n)

e = e >> 200 << 200
print(f'n = {n}')
print(f'e = {e}')
print(f'c = {c}')

"""
n = 111922722351752356094117957341697336848130397712588425954225300832977768690114834703654895285440684751636198779555891692340301590396539921700125219784729325979197290342352480495970455903120265334661588516182848933843212275742914269686197484648288073599387074325226321407600351615258973610780463417788580083967
e = 37059679294843322451875129178470872595128216054082068877693632035071251762179299783152435312052608685562859680569924924133175684413544051218945466380415013172416093939670064185752780945383069447693745538721548393982857225386614608359109463927663728739248286686902750649766277564516226052064304547032760477638585302695605907950461140971727150383104
c = 14999622534973796113769052025256345914577762432817016713135991450161695032250733213228587506601968633155119211807176051329626895125610484405486794783282214597165875393081405999090879096563311452831794796859427268724737377560053552626220191435015101496941337770496898383092414492348672126813183368337602023823
"""

编写脚本

from Crypto.Util.number import *
n = 111922722351752356094117957341697336848130397712588425954225300832977768690114834703654895285440684751636198779555891692340301590396539921700125219784729325979197290342352480495970455903120265334661588516182848933843212275742914269686197484648288073599387074325226321407600351615258973610780463417788580083967
e = 37059679294843322451875129178470872595128216054082068877693632035071251762179299783152435312052608685562859680569924924133175684413544051218945466380415013172416093939670064185752780945383069447693745538721548393982857225386614608359109463927663728739248286686902750649766277564516226052064304547032760477638585302695605907950461140971727150383104
c = 14999622534973796113769052025256345914577762432817016713135991450161695032250733213228587506601968633155119211807176051329626895125610484405486794783282214597165875393081405999090879096563311452831794796859427268724737377560053552626220191435015101496941337770496898383092414492348672126813183368337602023823
k = e // n - 2
tmp = 65537 + (k+2)*n + (k+2)+1
R.<x> = PolynomialRing(RealField(1024))
f = e*x - (2*(k+1)*x^2 + (k+2)*n + tmp*x)
res = f.roots()

for root in res:
    p_high = int(root[0])

    PR.<x> = PolynomialRing(Zmod(n))

    f1 = x + p_high

    roots = f1.monic().small_roots(X=2^200,beta=0.4)

    if roots:

        p = int(roots[0]) + p_high

        q = n // p

        e = 65537 + k * p + (k+2) * ((p+1) * (q+1)) + 1

        d = inverse(e,(p-1)*(q-1))

        m = pow(c,d,n)

        print(long_to_bytes(int(m)))

使用sagemath打开

运行脚本

得到flag:

flag{b5f771c6-18df-49a9-9d6d-ee7804f5416c}

古典密码

题目:

AnU7NnR4NassOGp3BDJgAGonMaJayTwrBqZ3ODMoMWxgMnFdNqtdMTM9

CyberChef

atbash解码   埃特巴什解码

Atbash Cipher

base64解码

得到fa{2b838a-97ad-e9f743lgbb07-ce47-6e02804c}

观察为栅栏密码栅栏加密/解密 - Bugku CTF

使用在线工具,枚举解密

得到flag

flag{b2bb0873-8cae-4977-a6de-0e298f0744c3}

注意:

采用一些其他的在线工具解码后,再复制粘贴到其他在线工具进行base64解码,可能会出错。因为两种相同的字符串格式不同。

zmf7mmi4mzhhltk3ywqtztlmnzqzbgdiyja3lwnlndctnmuwmjgwngn9

ZmF7MmI4MzhhLTk3YWQtZTlmNzQzbGdiYjA3LWNlNDctNmUwMjgwNGN9

 

建议使用一个解码工具进行解密。

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

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

相关文章

简单美观易上手的 Docker Compose 可视化管理器 Dockge

本文首发于只抄博客&#xff0c;欢迎点击原文链接了解更多内容。 前言 Dockge 是 Uptime Kuma 作者的新作品&#xff0c;因此 UI 风格与 Uptime Kuma 基本一致&#xff0c;如果你正在使用 Uptime Kuma 的话&#xff0c;那么 Dockge 的 UI 设计应该也不会让你失望。Dockge 主打…

【Floodfill算法】dfs或者bfs解决floodfill算法

1.图像渲染 图像渲染 dfs解决代码&#xff1a; class Solution { public:int dx[4] {0, 0, -1, 1};int dy[4] {-1, 1, 0, 0};int m, n;int prev;vector<vector<int>> ret;vector<vector<int>> floodFill(vector<vector<int>>& ima…

SpringBean-生命周期

Spirng Bean 元信息配置阶段 1 面向资源 xml配置&#xff08;很熟悉了不做讨论&#xff09;Properties配置 public class BeanMetaDemo {public static void main(String[] args) {DefaultListableBeanFactory factory new DefaultListableBeanFactory();PropertiesBeanDef…

从零开始搭建SpringCloud Alibaba微服务架构

Spring Cloud Alibaba是Spring Cloud的一个拓展项目&#xff0c;它用于构建基于阿里巴巴的微服务应用。它提供了多个阿里巴巴的开源组件&#xff0c;如Nacos、Sentinel、Dubbo等&#xff0c;用于解决微服务架构中的服务注册、配置管理、流量控制等问题。 Spring Cloud Alibaba…

老题重测,国产AI大模型从“智障”走向“智能”?

2023年8月&#xff0c;拿我家小孩的一道小学数学题来测试了一批知名的国产大模型&#xff0c;结果很失望&#xff0c;没有一个能答对。最近正好看到OpenAI GPT-4o发布的新闻&#xff0c;于是跑去重测了一遍&#xff0c;结果很惊喜&#xff0c;绝大部分国产AI大模型都给出清晰、…

MySQL密码忘记之通过Navicat保存的加密密码来解码过程

MySQL密码忘记之通过Navicat保存的加密密码来解码过程 一、前言 许久不用数据库MySQL&#xff0c;因此密码忘记&#xff0c;但是在Navicat上保存了MySQL的密码&#xff0c;然而Navicat上保存的密码是加密的&#xff0c;无法直接复制来使用&#xff0c;因此需要对Navicat上保存…

如何停止 iPad 和 iPhone 之间共享短信,独立接收和发送消息

概括 在当今高度互联的数字世界中&#xff0c;Apple 设备之间的无缝连接性提供了极大的便利&#xff0c;尤其是在消息同步方面。iPhone 和 iPad 用户通常可以享受到设备间短信的自动同步功能&#xff0c;这意味着无论是在哪个设备上&#xff0c;用户都可以接收和回复消息。然而…

英伟达发布亮眼财报,大超预期!

KlipC报道&#xff1a;5月22日美股收盘后&#xff0c;英伟达公布第一财季财报。实现了260亿美元营收&#xff0c;远超分析师预测的246.5亿美元&#xff0c;同比增长262%。Q1净利润148.1亿美元&#xff0c;同比增长628%。此外&#xff0c;Q1毛利率也继续上升&#xff0c;达到了7…

VMware ESXi 7.0 U3q 发布 - 领先的裸机 Hypervisor

VMware ESXi 7.0 U3q 发布 - 领先的裸机 Hypervisor VMware ESXi 7.0 Update 3 Standard & All Custom Image for ESXi 7.0U3 Install CD 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-esxi-7-u3/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出…

【HCIP学习】RSTP和MSTP

一、RSTP&#xff08;Rapid Spanning Tree Protocol&#xff0c;快速生成树&#xff09; 1、背景&#xff1a;RSTP从STP发展而来&#xff0c;具备STP的所有功能&#xff0c;可以兼容stp运行 2、RSTP与STP不同点 &#xff08;1&#xff09;减少端口状态 STP:disabled\blockin…

Diffusion Policy:基于扩散模型的机器人动作生成策略

项目地址&#xff1a; Diffusion Policy (columbia.edu) 一、摘要 本文介绍了 "扩散策略"&#xff0c;这是一种生成机器人行为的新方法&#xff0c;它将机器人的视觉运动策略&#xff08;visuomotor policy&#xff09;表示为条件去噪扩散过程&#xff08;conditi…

P1【知识点】【数据结构】【链表LinkedList】C++版

链表是一种逻辑上连续&#xff0c;内存上分散的线性表数据结构&#xff0c;是用一组任意的空间&#xff08;可以连续&#xff0c;也可以不连续&#xff09;来存放数据元素。每个数据元素成为一个”结点“&#xff0c;每个结点由数据域和指针域组成。 访问元素&#xff08;Acce…

RK3588 Android13 TvSetting 中增加字体大小调整菜单

前言 电视产品,客户要求在设置中设备偏好设置子菜单里的显示和声音二级菜单里增加字体大小菜单功能, 其实里面本来有个文字缩放菜单,但不满足客户需求,那就新加一个也不是什么难事,开整。 效果图 TvSetting 部分修改文件清单 packages/apps/TvSettings/Settings/res/va…

解锁 user-agent(UA)识别 Api 接口的无限潜力

近年来&#xff0c;随着移动设备的普及和互联网的迅猛发展&#xff0c;用户使用不同的操作系统、浏览器以及硬件设备来访问网页的情况越来越多样化。为了更好地了解用户的访问环境和提供更好的用户体验&#xff0c;我们需要通过用户的访问UA&#xff08;User-Agent&#xff09;…

指针,指针变量,引用,取地址符,malloce()函数使用,C中“—>” 和“ . ” 作用与区别

目录 一&#xff1a;指针,指针变量&#xff0c;引用&#xff0c;取地址符&#xff1a; 前提 &#xff1a; 1.“ * ” 的两种用途 2." & “的两种用途 2.1&#xff1a;引用 2.2&#xff1a;取地址 补充&#xff1a; 二 : malloc(),动态申请地址空间 1.原型定义…

IEEE Transactions on Neural Networks and Learning Systems神经网络和学习系统TNNLS论文投稿须知

一、TNNLS介绍 IEEE Transactions on Neural Networks and Learning Systems作为控制领域的TOP期刊&#xff0c;2024年5月影响因子为10.4&#xff0c;虽然有些下降&#xff0c;之前五年平均影响因子为11.2&#xff0c;但依然是该领域王牌期刊&#xff0c;接收关于神经网络和相…

Python踩坑系列之使用redis报错:module ‘redis‘ has no attribute ‘Redis‘问题

一步一步往后看哦&#xff01;&#xff01;&#xff01; 纳尼&#xff0c;大伙看看这是什么情况&#xff0c;都是这么写的呢&#xff0c;为啥我这就报错了0.0 出现问题不可怕&#xff0c;解决它就完事了。 方法一、安装redis重新运行程序 pip install redis 无果&#xff0…

【kubernetes】探索k8s集群中kubectl的陈述式资源管理

目录 一、k8s集群资源管理方式分类 1.1陈述式资源管理方式&#xff1a;增删查比较方便&#xff0c;但是改非常不方便 1.2声明式资源管理方式&#xff1a;yaml文件管理 二、陈述式资源管理方法 2.1查看版本信息 2.2查看资源对象简写 2.3配置kubectl自动补全 2.4node节点…

10 - 核心对象 Switch / case

简介 在Kettle&#xff08;也称为Pentaho Data Integration&#xff0c;PDI&#xff09;中&#xff0c;Switch/Case 是一个关键的组件&#xff0c;用于根据特定条件将数据流分支到不同的路径。Switch组件评估输入数据中的某个字段&#xff0c;并将数据标记后传递给相应的Case组…

一款数字化管理平台源码:云MES系统(附架构图、流程)技术架构:springboot + vue-element-plus-admin

制造生产企业打造数字化生产管控的系统&#xff0c;从原材料、生产报工、生产过程、质检、设备、仓库等整个业务流程的管理和控制&#xff0c;合理安排生产计划、实时监控生产、优化生产工艺、降低不良产出和运营成本&#xff1b; 技术架构&#xff1a;springboot vue-elemen…