2022首届“天权信安catf1ag”网络安全联合公开赛复盘

本文主要是介绍2022首届“天权信安catf1ag”网络安全联合公开赛复盘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

因为前一段时间都在忙考证,近些天补一些文章吧

解题过程:
题目一 简单隐写
操作内容:

丢进kali binwalk 分离一下 得到一个加密的压缩包 内含flag.txt

使用jphs无密码得到一个txt

得到password:catf1agcatf1agcatf1ag

解压压缩包得到一串字符串

dbug1bh{KQit_x1o_Z0v_H3u_JU!!!}

凯撒位移一下得到flag

flag值:

catf1ag{JPhs_w1n_Y0u_G3t_IT!!!}

题目二 十位马
操作内容:

打开data文件,发现是十六进制

转成ASCII,发现熟悉字符png,但是是反的

用python脚本把它反过来,

with open('data','r') as f:

s = f.readlines()[0]

s = [s[i:i+2] for i in range(0,len(s),2)]

s = ''.join(s[::-1])

with open('data.txt','w') as f1:

f1.write(s)

然后放入010editor保存为二进制文件

用binwalk分离一下

有100张图片,用ps拼接起来

应该是个二维码,添加上定位符

扫描得到flag

如该题使用自己编写的脚本请详细写出,不允许截图

with open('data','r') as f:

s = f.readlines()[0]

s = [s[i:i+2] for i in range(0,len(s),2)]

s = ''.join(s[::-1])

with open('data.txt','w') as f1:

f1.write(s)

flag值:

flag{cbef4c93-5e9c-11ed-8205-666c80085daf}

题目三 疑惑
操作内容:

根据题目名字提示,直接将key1和key2的值做异或,然后拼接即可得到flag

如该题使用自己编写的脚本请详细写出,不允许截图

keys1 = "welcome_to_nine-ak_match_is_so_easy_!@!"

keys2 = "20 4 24 5 94 12 2 36 26 6 49 11 68 15 14 114 12 10 43 14 9 43 10 27 31 31 22 45 10 48 58 4 18 10 38 31 14 97 92"

keys2 = keys2.split(' ')

flag = ''

for i in range(len(keys1)):

flag += chr(ord(keys1[i])^int(keys2[i]))

print(flag)

flag值:

catf1ag{nine-ak_match_is@very_easy_@/!}

题目四 ezrsa
操作内容:

其实出题者的考点是费马分解,但是不小心给了d,所以直接求m即可。

如该题使用自己编写的脚本请详细写出,不允许截图

import gmpy2

from Crypto.Util.number import *

c = 11665709552346194520404644475693304343544277312139717618599619856028953672850971126750357095315011211770308088484683204061365343120233905810281045824420833988717463919084545209896116273241788366262798828075566212041893949256528106615605492953529332060374278942243879658004499423676775019309335825331748319484916607746676069594715000075912334306124627379144493327297854542488373589404460931325101587726363963663368593838684601095345900109519178235587636259017532403848656471367893974805399463278536349688131608183835495334912159111202418065161491440462011639125641718883550113983387585871212805400726591849356527011578

d = 12344766091434434733173074189627377553017680360356962089159282442350343171988536143126785315325155784049041041740294461592715296364871912847202681353107182427067350160760722505537695351060872358780516757652343767211907987297081728669843916949983336698385141593880433674937737932158161117039734886760063825649623992179585362400642056715249145349214196969590250787495038347519927017407204272334005860911299915001920451629055970214564924913446260348649062607855669069184216149660211811217616624622378241195643396616228441026080441013816066477785035557421235574948446455413760957154157952685181318232685147981777529010093

n = 13717871972706962868710917190864395318380380788726354755874864666298971471295805029284299459288616488109296891203921497014120460143184810218680538647923519587681857800257311678203773339140281665350877914208278709865995451845445601706352659259559793431372688075659019308448963678380545045143583181131530985665822655263963917413080872997526445384954610888776917323156325542921415838122754036103689148810677276471252057077595104724365967333418002158480223657363936976281758713027828747277980907153645847605403914070601944617432177385048803228970693240587900504431163155958465431312258451026447435473865563581029300541109

m = pow(c,d,n)

flag = long_to_bytes(m)

print(flag)

import gmpy2

from Crypto.Util.number import *

c = 11665709552346194520404644475693304343544277312139717618599619856028953672850971126750357095315011211770308088484683204061365343120233905810281045824420833988717463919084545209896116273241788366262798828075566212041893949256528106615605492953529332060374278942243879658004499423676775019309335825331748319484916607746676069594715000075912334306124627379144493327297854542488373589404460931325101587726363963663368593838684601095345900109519178235587636259017532403848656471367893974805399463278536349688131608183835495334912159111202418065161491440462011639125641718883550113983387585871212805400726591849356527011578

e = 65537

n = 13717871972706962868710917190864395318380380788726354755874864666298971471295805029284299459288616488109296891203921497014120460143184810218680538647923519587681857800257311678203773339140281665350877914208278709865995451845445601706352659259559793431372688075659019308448963678380545045143583181131530985665822655263963917413080872997526445384954610888776917323156325542921415838122754036103689148810677276471252057077595104724365967333418002158480223657363936976281758713027828747277980907153645847605403914070601944617432177385048803228970693240587900504431163155958465431312258451026447435473865563581029300541109

near_p = gmpy2.iroot(n,2)[0]

while n%near_p !=0:

near_p = gmpy2.next_prime(near_p)

p = near_p

q = n//p

phi = (q-1)*(p-1)

d = gmpy2.invert(e,phi)

m = pow(c,d,n)

flag = long_to_bytes(m)

print(flag)

flag值:

flag{3895dfda-67b1-11ed-b784-b07b2568d266}

题目五 passwd
操作内容:

将密文69d00d9bc39e01687abf84e98e27c889cf1442b53edba27d3235acbeb7b0ae95直接丢到cmd5解密得到

202211121750

如该题使用自己编写的脚本请详细写出,不允许截图

flag值:

catf1ag{202211121750}

题目六 history

(题目序号请参考解题总榜上面的序号)

操作内容:

发现grafana版本是8.30,存在任意文件读取漏洞

根据题目history,直接去读取历史命令,发现flag在/home/grafana/下面

直接读取flag

编写的脚本请详细写出,不允许截图

flag值:

flag{b0e5ab30e5e65284361a94ea1af443ff}

题目七 遗失的物品
操作内容:

binwalk分离 apk 得到dex文件,发现flag源代码

将其值带入解密RSA得到C=15318

发现代码将flag与c做拼接,并且做了两次hex以及一次base64

然后在resources.arsc文件中发现疑似base64字符串

MzMzNjMzMzMzMzM2MzMzMTMzMzczMzM0MzMzNjMzMzYzMzMzMzMzMTMzMzYzMzMxMzMzNjMzMzczMzM3MzYzMjMzMzYzMzMyMzMzNjMzMzIzMzM2MzMzNDMzMzYzMzM1MzMzNjMzMzMzMzM2MzMzNjMzMzYzMzM2MzMzMzMzMzgzMzMzMzMzNzMzMzMzMzMwMzMzNjMzMzQzMzMzMzMzNDMzMzMzMzM4MzMzMzMzMzUzMzMzMzMzOTMzMzMzMzM0MzMzNjMzMzQzMzMzMzMzMDMzMzMzMzM1MzMzMzMzMzMzMzMzMzMzODMzMzMzMzMwMzMzMzMzMzgzMzMzMzMzNzMzMzYzMzM2MzMzNjMzMzMzMzMzMzMzNTMzMzYzMzM1MzMzMzMzMzAzMzMzMzMzMDMzMzMzMzMyMzMzMzMzMzAzMzM3MzYzNDMzMzMzMzMxMzMzMzMzMzUzMzMzMzMzMzMzMzMzMzMxMzMzMzMzMzg=

按照代码相反顺序解密得到flag

编写的脚本请详细写出,不允许截图

flag值:

catf1ag{bbdecff870d48594d0538087fc5e0020}

总结:此次竞赛的题目还可以,虽然最后只在四十名左右,没有进入前十拿奖,但是却也收获满满,下次再接再厉!

这篇关于2022首届“天权信安catf1ag”网络安全联合公开赛复盘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/366574

相关文章

如何做好网络安全

随着互联网技术的飞速发展,网站已成为企业对外展示、交流和服务的重要窗口。然而,随之而来的网站安全问题也日益凸显,给企业的业务发展和用户数据安全带来了巨大威胁。因此,高度重视网站安全已成为网络安全的首要任务。今天我们就来详细探讨网站安全的重要性、面临的挑战以及有什么应对方案。 一、网站安全的重要性 1. 数据安全与用户隐私 网站是企业存储和传输数据的关键平台,包括用户个人信息、

Java 后端接口入参 - 联合前端VUE 使用AES完成入参出参加密解密

加密效果: 解密后的数据就是正常数据: 后端:使用的是spring-cloud框架,在gateway模块进行操作 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>30.0-jre</version></dependency> 编写一个AES加密

C和指针:结构体(struct)和联合(union)

结构体和联合 结构体 结构体包含一些数据成员,每个成员可能具有不同的类型。 数组的元素长度相同,可以通过下标访问(转换为指针)。但是结构体的成员可能长度不同,所以不能用下标来访问它们。成员有自己的名字,可以通过名字访问成员。 结构声明 在声明结构时,必须列出它包含的所有成员。 struct tag {member-list} variable-list ; 定义一个结构体变量x(包含

网络安全运维培训一般多少钱

在当今数字化时代,网络安全已成为企业和个人关注的焦点。而网络安全运维作为保障网络安全的重要环节,其专业人才的需求也日益增长。许多人都对网络安全运维培训感兴趣,那么,网络安全运维培训一般多少钱呢?   一、影响网络安全运维培训价格的因素   1. 培训内容的深度和广度   不同的网络安全运维培训课程涵盖的内容有所不同。一些基础的培训课程可能主要涉及网络安全基础知识、常见安全工具的使用等,价

【网络安全】服务基础第二阶段——第二节:Linux系统管理基础----Linux统计,高阶命令

目录 一、Linux高阶命令 1.1 管道符的基本原理 1.2 重定向 1.2.1 输出重定向 1.2.2 输入重定向 1.2.3 wc命令基本用法 1.3 别名 1.3.1 which命令基本语法 1.3.2 alias命令基本语法 1.4 压缩归档tar 1.4.1 第一种:gzip压缩 1.4.2 第二种:bzip压缩 1.5 tar命令 二、VIM编辑器使用

AMEsim和Simulink联合仿真生成新的.mexw64液压模型文件

AMEsim和Simulink进行联合仿真非常重要的就是AMEsim经过第四阶段Simulation会在相同文件下面生成一个与AMEsim液压模型相同名字的.mexw64文件,在Simulink进行联合仿真的S-Function需要找的也就是这个文件,只不过输入的时候除了液压模型名字之外,后面有一个短下划线。 简而言之: AMEsim和Simulink联合仿真, 首先是需要AMEsim软

【自动驾驶】控制算法(八)横向控制Ⅱ | Carsim 与 Matlab 联合仿真基本操作

写在前面: 🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝 个人主页:清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。 🔍 本文系 清流君 原创之作,荣幸在CSDN首发🐒 若您觉得内容有价值,还请评论告知一声,以便更多人受益。 转载请注明出处,尊重原创,从我做起。 👍 点赞、评论、收藏,三连走一波,让我们一起养成好习惯😜 在这里,您将

120张网络安全等保拓扑大全

安全意识培训不是一个ppt通吃,不同的场景应该用不同的培训方式和内容http://mp.weixin.qq.com/s?__biz=MzkwNjY1Mzc0Nw==&mid=2247484385&idx=1&sn=92f5e7f3ee36bdb513379b833651711d&chksm=c0e47abdf793f3ab7f4621b64d29c04acc03b45c0fc1eb613c37f3

Matlab/Simulink和AMEsim联合仿真(以PSO-PID算法为例)

目录 安装软件和配置环境变量 Matlab/Simulink和AMEsim联合仿真详细流程 非常重要的一点 Simulink模型和AMEsim模型用S-Function建立连接 从AMEsim软件打开Matlab Matlab里的设置 Matlab的.m文件修改(对于PSO-PID算法) 运行程序 我印象中好像做过Matlab/Simulink和AMEsim联合仿真的分享似的

网络安全(sql注入)

这里写目录标题 一. information_schema.tables 和 information_schema.schemata是information_schema数据库中的两张表1. information_schema.schemata2. information_schema.tables 二. 判断注入类型1. 判断数字型还是字符型注入2. 判断注入闭合是""还是'' 三. 判