当前位置: 首页 > news >正文

[ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(白虎组)

2022年第三届“网鼎杯”网络安全大赛(白虎组)部分题目附件

文章目录

  • 【Misc】misc620
  • 【Crypto】crypto582
  • 【Crypto】crypto581

【Misc】misc620

在这里插入图片描述
压缩包有密码,盲猜纯数字进行爆破,得到密码:
在这里插入图片描述
在这里插入图片描述
得到两个文件,flag.7z依然有密码,从csv文件中找
在这里插入图片描述
发现这有点像base编码后的
在这里插入图片描述
解码后得到,尝试解压缩
解压缩后得到
在这里插入图片描述
在这里插入图片描述
百度翻译没有结果,换工具。
在这里插入图片描述
flag{d2112923-78d6-4064-977c-b73297dc4491}

【Crypto】crypto582

在这里插入图片描述

c1 =  85139434329272123519094184286276070319638471046264384499440682030525456122476228324462769126167628121006213531153927884870307999106015430909361792093581895091445829379547633304737916675926004298753674268141399550405934376072486086468186907326396270307581239055199288888816051281495009808259009684332333344687
c2 =  104554808380721645840032269336579549039995977113982697194651690041676187039363703190743891658905715473980017457465221488358016284891528960913854895940235089108270134689312161783470000803482494370322574472422461483052403826282470850666418693908817591349159407595131136843764544166774390400827241213500917391144
c3 =  94771625845449128812081345291218973301979152577131568497740476123729158619324753128517222692750900524689049078606978317742545997482763600884362992468406577524708622046033409713416026145377740182233674890063333534646927601262333672233695863286637817471270314093720827409474178917969326556939942622112511819330
x =  78237329408351955465927092805995076909826011029371783256454322166600398149132623484679723362562600068961760410039241554232588011577854168402399895992331761353772415982560522912511879304977362225597552446397868843275129027248765252784503841114291392822052506837132093960290237335686354012448414804030938873765
y =  100442166633632319633494450595418167608036668647704883492068692098914206322465717138894302011092841820156560129280901426898815274744523998613724326647935591857728931946261379997352809249780159136988674034759483947949779535134522005905257436546335376141008113285692888482442131971935583298243412131571769294029
z =  104712661985900115750011628727270934552698948001634201257337487373976943443738367683435788889160488319624447315127992641805597631347763038111352925925686965948545739394656951753648392926627442105629724634607023721715249914976189181389720790879720452348480924301370569461741945968322303130995996793764440204452
from gmpy2 import *
e=2022


m=11323698514369171934509485270187482800747906221592420578818277215318591065610272211939730721658555842676447236708557849309772868815154841226050491067608493
print(m.bit_length())
m1=(x-2022)%m
m2=(y-2022)%m
m2=m2+m

cc1 = pow(m+m1,e,m*m1)
cc2 = pow(m+m2,e,m*m2)
cc3 = pow(m1+m2,e,m1*m2)
assert cc1==c1
assert cc2==c2
assert cc3==c3
xx = pow(m1+2022,m,m*m1)
yy = pow(m2+2022,m,m*m2)
zz = pow(m+2022,m1,m*m1)
assert x==xx
assert y==yy
assert z==zz
import hashlib
flag = m + m1 + m2
flag = hashlib.md5(str(flag).encode('utf-8')).hexdigest()
print("flag{"+flag+"}")

flag{27979a70ef9152b759d9340779256dc8}

【Crypto】crypto581

在这里插入图片描述

from crypt import crypt
from gmpy2 import *
from functools import reduce

def crack_unknown_increment(states, modulus, multiplier):
    increment = (states[1] - states[0]*multiplier) % modulus
    return modulus, multiplier, increment

def crack_unknown_multiplier(states, modulus):
    multiplier = (states[2] - states[1]) * invert(states[1] - states[0], modulus) % modulus
    return crack_unknown_increment(states, modulus, multiplier)

def crack_unknown_modulus(states):
    diffs = [s1 - s0 for s0, s1 in zip(states, states[1:])]
    zeroes = [t2*t0 - t1*t1 for t0, t1, t2 in zip(diffs, diffs[1:], diffs[2:])]
    modulus = abs(reduce(gcd, zeroes))
    return crack_unknown_multiplier(states, modulus)

s=[150532854791355748039117763516755705063,
335246949167877025932432065299887980427,
186623163520020374273300614035532913241,
215621842477244010690624570814660992556,
220694532805562822940506614120520015819,
17868778653481346517880312348382129728,
160572327041397126918110376968541265339]
n,a,b=crack_unknown_modulus(s)
c = 114514
e = int(2e8)

mod=10 ** 10000

M=matrix(Zmod(mod),[[b,a*c,1],
                            [0,c,0],
                            [0,0,1]])
C=matrix(Zmod(mod),[[1,1,n]])
C=C.T
s=(M^e)*C
sol = str(s[0])[1:10001]
from hashlib import md5
enc=b'UUV\x04H\x01T\x01P\x03\t\x04\t\x1fW\x00T\x02LRSPT\x1d\x02\x02^\x01N[\\R\x02\tSV\x07\x06P\x01QK'
sol_md5 = md5(sol.encode()).hexdigest()
print(len(enc))
print(len(sol_md5))
from Crypto.Util.strxor import *
print(strxor((2*sol_md5.encode())[:42],enc))

flag{650e5058-6106-4a10-a2fc-b9110d54110d}

相关文章:

  • 获取两个时间的区间
  • 神经调节的知识网络图,图神经网络与知识图谱
  • HBase优化
  • 【论文笔记】Population Based Training of Neural Networks(PBT)
  • React之一些函数或者方法的扩展
  • 普通人修谱必须读的三本书,最后一本市场买不到
  • 巧妙简单的坑人代码,“巩固”你和好哥们的友谊【坏笑】
  • 编译器的作用和构成 (基础知识版)
  • 【什么时候使用分类 Objective-C语言】
  • 快速入门C++第七天——输入与输出
  • 栈和队列及表达式求值问题
  • 快速入门C++第六天——函数模板与类模板
  • gitlab自定义头像设置
  • 新库上线 | CnOpenData采矿业工商注册企业基本信息数据
  • 【Redis】基于Redis6的数据类型以及相关命令、应用场景整理
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • CentOS6 编译安装 redis-3.2.3
  • extract-text-webpack-plugin用法
  • HTTP中的ETag在移动客户端的应用
  • JSONP原理
  • Python 基础起步 (十) 什么叫函数?
  • Python爬虫--- 1.3 BS4库的解析器
  • SpingCloudBus整合RabbitMQ
  • Spring Cloud Feign的两种使用姿势
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • vue-cli在webpack的配置文件探究
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 码农张的Bug人生 - 见面之礼
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 自定义函数
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (循环依赖问题)学习spring的第九天
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .NET Core 2.1路线图
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .NET MVC第三章、三种传值方式
  • .net MVC中使用angularJs刷新页面数据列表
  • .NET/C# 使窗口永不获得焦点
  • .NET连接数据库方式
  • .pyc文件是什么?
  • @Async注解的坑,小心
  • @entity 不限字节长度的类型_一文读懂Redis常见对象类型的底层数据结构