国赛部分复现

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

 

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024中青杯数学建模竞赛B题药物属性预测思路代码论文分享

2024年中青杯数学建模竞赛B题论文和代码已完成&#xff0c;代码为B题全部问题的代码&#xff0c;论文包括摘要、问题重述、问题分析、模型假设、符号说明、模型的建立和求解&#xff08;问题1模型的建立和求解、问题2模型的建立和求解、问题3模型的建立和求解&#xff09;、模型…

一剪梅-答赠云安客刘自果

当众网友看了笔者“边吸氧边动鼠标”的短视频之后&#xff0c;纷纷发来微信问候。其中我的远房亲戚&#xff0c;那个正在潜心写作数十万字的长篇纪实文学《川江向东流》的66岁贤弟刘自果&#xff08;号云安客&#xff0c;亦称自果居士&#xff09;&#xff0c;发来微信鼓励我&a…

图生代码,从Hello Onion 代码开始

从Hello Onion 代码开始 1&#xff0c;从代码开始 原生语言采用java 作为载体。通过注解方式实现“UI可视化元素"与代码bean之间的映射. 转换示例 2&#xff0c;运行解析原理 在执行JAVA代码期间&#xff0c;通过读取注解信息&#xff0c;转换为前端的JSON交由前端JS框…

java中的TreeMap类和Hashtable类+Map集合遍历+集合小结

一、TreeMap类 实现了Map接口&#xff0c;元素为键值对、键不可重复、值可重复 特点&#xff1a;可排序 要求&#xff1a;Key类必须实现Comparable接口 底层结构&#xff1a;红黑树 1、可排序 2、常用方法 与HashMap一致 二、Hashtable类 实现了Map接口&#xff0c;元素…

springboot+jsp校园理发店美容美发店信息管理系统0h29g

前台管理:会员管理、会员预定、开单点单、收银结帐、技师提成 后台管理:数据维护、物料管理、数据查询、报表分析、系统设置等 灵活的付款方式&#xff0c;支持现金、挂帐、会员卡&#xff0c;同时支持多种折扣方式并可按用户要求设置多种结帐类型善的充值卡管理模块:支持优惠卡…

Postman进阶功能-Mock服务与监控

大家好&#xff0c;前面跟大家分享一些关于 Postman 的进阶功能&#xff0c;当我们深入探索 Postman 的进阶功能时&#xff0c;Mock 服务与监控这两个重要方面便跃然眼前。 首先&#xff0c;Mock 服务为我们提供了一种灵活便捷的方式&#xff0c;让我们在某些实际接口尚未准备好…

IS-IS基本配置 IS-IS邻接关系

一.IS-IS基本配置 原理概述 和 OSPF 路由协议一样&#xff0c; IS-IS 也是一个应用非常广泛的 IGP 路由协议&#xff0c;很多 ISP 网络、特别是大型的ISP网络都部署了IS-IS网络协议。 RIP 、 OSPF 等许多 IGP 都是针对 IP ( Internet Protocol &#xff09;这个网络层协议而开…

【Vue】性能优化

使用 key 对于通过循环生成的列表&#xff0c;应给每个列表项一个稳定且唯一的 key&#xff0c;这有利于在列表变动时&#xff0c;尽量少的删除和新增元素。 使用冻结的对象 冻结的对象&#xff08;Object.freeze(obj)&#xff09;不会被响应化&#xff0c;不可变。 使用函…

Vue2基础及其进阶面试(一)

简单版项目初始化 新建一个vue2 官网文档&#xff1a;介绍 — Vue.js 先确保下载了vue的脚手架 npm install -g vue-cli npm install -g vue/cli --force vue -V 创建项目 vue create 自己起个名字 选择自己选择特性 选择&#xff1a; Babel&#xff1a;他可以将我们写…

springboot+jwt+shiro+vue+elementUI+axios+redis+mysql完成一个前后端分离的博客项目

目录 简易博客项目(springbootjwtshirovueelementUIaxiosredismysql)第一章 整合新建springboot,整合mybatisplus第一步 创建项目(第八步骤就行)数据库:1、 修改pom.xml2、修改配置文件3、创建数据库vueblog然后执行下面命令生成表 第二步 配置分页MybatisPlusConfig生成代码(d…

佩戴安全头盔监测识别摄像机

佩戴安全头盔是重要的安全措施&#xff0c;尤其在工地、建筑工程和工业生产等领域&#xff0c;安全头盔的佩戴对于工人的生命安全至关重要。为了更好地管理和监控佩戴安全头盔的情况&#xff0c;监测识别摄像机成为了一项重要的工具。监测识别摄像机可以通过智能技术监测并记录…

紫光同创PGL22G开发板|盘古22K开发板,国产FPGA开发板,接口丰富

盘古22K开发板是基于紫光同创Logos系列PGL22G芯片设计的一款FPGA开发板&#xff0c;全面实现国产化方案&#xff0c;板载资源丰富&#xff0c;高容量、高带宽&#xff0c;外围接口丰富&#xff0c;不仅适用于高校教学&#xff0c;还可以用于实验项目、项目开发&#xff0c;一板…

数据开放最全sql面试合集(leetcode)

关注公众号“大数据领航员"领取PDF版本和大数据面经 https://leetcode-cn.com/problemset/database/ 题目都是leetcode 上了可以点击题目会有相应的链接 由于个人比较喜欢用开窗函数&#xff0c;所以都优先用了开窗 &#xff0c;当然这些并不一定都是最优解&#xff0c…

【Linux取经路】进程通信——共享内存

文章目录 一、直接原理1.1 共享内存的的申请1.2 共享内存的释放 二、代码演示2.1 shmget2.1.1 详谈key——ftok 2.2 创建共享内存样例代码2.3 获取共享内存——进一步封装2.4 共享内存挂接——shmat2.5 共享内存去关联——shmdt2.6 释放共享内存——shmctl2.7 开始通信2.7.1 pr…

Git简单理解

Git 概述 Git 是一个免费的开源的&#xff0c;分布式版本控制系统&#xff0c;可以快速高效的处理从小型到大型的各种项目 Git占地面积小&#xff0c;性能极快&#xff0c;具有廉价的本地库&#xff0c;方便的暂存区和多个工作流分支等特性 版本控制 版本控制是一种记录文件…

VUE3.0学习-模版语法

安装Node.js的过程相对直接&#xff0c;以下是详细的步骤指导&#xff0c;适用于大多数操作系统&#xff1a; ### 1. 访问Node.js官方网站 首先&#xff0c;打开浏览器&#xff0c;访问 [Node.js 官方网站](https://nodejs.org/)。 ### 2. 选择合适的版本下载 在Node.js官网上…

鲸尾识别获奖方案总结

文章目录 1st solution(classification)2nd place code, end to end whale Identification model3rd place solution with code: ArcFace4th Place Solution: SIFT Siamese5th solution blog post code -Siamese7th place Pure Magic thanks Radek solution: classification9…

Wireshark 提示和技巧 | 如何合并多个捕获文件

背景 想到介绍合并捕获文件这个事情&#xff0c;源自于朋友的一个问题&#xff0c;虽然我用到的场景不是很多&#xff0c;但是可能会有更多的同学需要&#xff0c;就简单说说我知道的几个方法。 示例 测试的捕获文件主要信息如下&#xff0c;其中 test.pcapng 文件数据包数量…

遍历列表

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 遍历列表中的所有元素是常用的一种操作&#xff0c;在遍历的过程中可以完成查询、处理等功能。在生活中&#xff0c;如果想要去商场买一件衣服&#…

Sui主网升级至V1.25.1版本

其他升级要点如下所示&#xff1a; 协议 #17335 在DeepBook上交易时&#xff0c;lot_size代表min_size&#xff0c;表示交易所需的最小数量。quantity_min_tick&#xff08;一个常数&#xff0c;1000&#xff09;现在是lot_size。交易数量现在必须是quantity_min_tick的倍数…