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

news/2025/1/18 12:36:56/

目录

  • 【Misc】misc666
  • 【Crypto】crypto967
  • 【Reverse】re547

【Misc】misc666

在这里插入图片描述
flag{NiuDaoxiaoshi666}

【Crypto】crypto967

m = 696376465415968446607383675953857997
c =75351884040606337127662457946455960228423443937677603718170904462378938882502061014476822055783421908392386804380503123596242003758891619926133807099465797120624009076182390781918339985157326114840926784410018674639537246981505937318380179042568501449024366208980139650052067021073343322300422190243015076307
n =135413548968824157679549005083702144352234347621794899960854103942091470496598900341162814164511690126111049767046340801124977369460415208157716471020260549912068072662740722359869775486486528791641600354017790255320219623493658736576842207668208174964413000049133934516641398518703502709055912644416582457721
G = Zmod(n)
factors = [587, 28142457071, 395710839697]
order = n - 1
m = G(m)
c = G(c)
dlogs = []
for i in factors:t = order // iy = c ^ tg = m ^ tdlog = discrete_log(c ^ t, m ^ t)dlogs.append(int(dlog))print(dlog)
x=crt(dlogs, factors)
print(x)
x=17271504622210389511

在这里插入图片描述

from Crypto.Util.number import *x = 17271504622210389511
c1 =209941170134628207830310059622280988835086910150451946264595015050300510031560522999562095124692878755896950865676914790595999182721583547184333760954091880805688518459046880395477235753285839380764579025127254060855545
c2 =4803339369764546990337396010353372745379378328671778873584350940089623041410194355125962064067657967062926344955874581199853582279928946579389671271191196
p =6809372619970287379746941806942051353536181082328454067824596651780784704823185066486367854653297514943018290212240504418345108411269306758069486928594027
g =12575636661436726898107254102531343862656456137827822292892883099464907172061178954026138165159168595086335202285503403441736394399853074532771428483593753
k =4521228602593215445063533369342315270631623025219518143209270060218625289087470505221974748605346084266802332207199304586313352026660695691783656769488472print(long_to_bytes(c1 * pow(c2, -x, p) % p))

在这里插入图片描述

flag{th1s_1s_so_3a2y_rlgh4}

【Reverse】re547

IDA打开后有个_main函数
v27密文↓
在这里插入图片描述
rc4加密:

for ( i = 0; i < 256; ++i )
{v26[i] = i;v24[i] = v25[i % v3];
}for ( j = 0; j < 256; ++j )
{v7 = v26[j];v4 = (v7 + v24[j] + v4) % 256;v26[j] = v26[v4];v26[v4] = v7;
}v8 = 0;
v9 = 0;for ( k = 0; k < 42; ++k )
{v8 = (v8 + 1) % 256;v11 = v26[v8];v9 = (v11 + v9) % 256;v26[v8] = v26[v9];v26[v9] = v11;Arglist[k] ^= v26[(unsigned __int8)(v11 + v26[v8])];
}v12 = 0;
v23 = 0;

tea加密:

do
{v13 = 0;v14 = *(_DWORD *)&Arglist[8 * v12];v22 = &Arglist[8 * v12];v21 = &Arglist[8 * v12 + 4];v15 = 32;v16 = *(_DWORD *)v21;do{v13 -= 0x61C88647;v14 += (16 * v16 + 0x1234) ^ (v13 + v16) ^ ((v16 >> 5) + 0x5678);v16 += ((v14 >> 5) + 0x8265) ^ (v13 + v14) ^ (16 * v14 + 0x4523);--v15;}while ( v15 );*(_DWORD *)v22 = v14;*(_DWORD *)v21 = v16;v12 = v23 + 1;v23 = v12;
}
while ( v12 < 5 );

tea只循环5次(40位)
但是程序要我们输入42位
在这里插入图片描述
还剩两位只经过rc4

#include <stdio.h>  
#include <stdint.h>  
#include<string.h>//加密函数  
void encrypt(uint32_t* v, uint32_t* k)
{/* set up */uint32_t v0 = v[0], v1 = v[1], sum = 0, i;/* a key schedule constant */         uint32_t delta = 0x9e3779b9;/* cache key */uint32_t k0 = k[0], k1 = k[1], k2 = k[2], k3 = k[3];for (i = 0; i < 32; i++)/* basic cycle start */{sum += delta;v0 += ((v1 << 4) + k0) ^ (v1 + sum) ^ ((v1 >> 5) + k1);v1 += ((v0 << 4) + k2) ^ (v0 + sum) ^ ((v0 >> 5) + k3);}                                              /* end cycle */v[0] = v0; v[1] = v1;
}//解密函数  
void decrypt(uint32_t* v, uint32_t* k)
{/* set up */uint32_t v0 = v[0], v1 = v[1], sum = 0x9e3779b9<<5, i;/* a key schedule constant */uint32_t delta = 0x9e3779b9;/* cache key */uint32_t k0 = k[0], k1 = k[1], k2 = k[2], k3 = k[3];for (i = 0; i < 32; i++)/* basic cycle start */{v1 -= ((v0 << 4) + k2) ^ (v0 + sum) ^ ((v0 >> 5) + k3);v0 -= ((v1 << 4) + k0) ^ (v1 + sum) ^ ((v1 >> 5) + k1);sum -= 0x9e3779b9;}/* end cycle */v[0] = v0; v[1] = v1;
}int main()
{uint32_t v[10] = { 0x1C30FE24, 0xA34C7D11, 0x6F106E38, 0x3EBDE0C4, 0x400FC847, 0x752FF41A, 0xF13DDEBA, 0x6C7835C6,0xFD3E6948, 0x9DFD7447 };uint32_t k[4] = { 0x1234,0x5678,0x4523,0x8265 };uint32_t vvv[10];for(int i = 0; i < 10;i+=2 ){uint32_t vv[2] = { v[i],v[i + 1] };decrypt(vv, k);vvv[i]= vv[0];vvv[i + 1] = vv[1];}for (int k = 0; k < 40; k++){printf("%02x",(*((unsigned char*)vvv + k)));}return 0;
}

运行结果:

8aa09899317f3709336a68c12db9ec3c321d77b99eb9147f005f3dbc3b6e2a2cf901a69ce35bbe80

添加后面没用tea加密的两位:0x66 0x2f
在这里插入图片描述
flag{1f782dbb-7570-46c8-b7a2-f64dfa4383b7}


http://www.ppmy.cn/news/848210.html

相关文章

2023年网络安全比赛--Windows渗透测试中职组(超详细)

一、竞赛时间 180分钟 共计3小时 二、竞赛阶段 1.通过本地PC中渗透测试平台Kali对服务器场景20221219win进行系统服务及版本扫描渗透测试,并将该操作显示结果中1433端口对应的服务版本信息作为Flag值(例如3.1.4500)提交; 2.通过本地PC中渗透测试平台Kali对服务器场景202212…

第六届“强网杯”全国网络安全挑战赛-青少年专项赛

选拔赛可以看 WP|第六届强网杯青少赛线上赛WriteUp_青少年ctf的博客-CSDN博客 科普赛-网络安全知识问答 一、单项选择题 1、以太网交换机实质上是一个多端口的&#xff08; &#xff09;。 A、网桥 B、路由器 C、中继器 D、集线器 您的答案&#xff1a;A标准答案&#xff1…

数据库锁的12连问,抗住!

前言 金三银四很快就要来啦&#xff0c;准备了数据库锁的12连问&#xff0c;相信大家看完肯定会有帮助的。 1. 为什么需要加锁 在日常生活中&#xff0c;如果你心情不好想静静&#xff0c;不想被比别人打扰&#xff0c;你就可以把自己关进房间里&#xff0c;并且反锁。这就是生…

Mysql 启动报错 The server quit without updating PID file(/var/run/mysqld/mysqld.id)

linux 下CentOS 启动MySQL数据库报错&#xff1a; starting MySQL...ERROR! The server quit without updating PID file&#xff08;/var/run/mysqld/mysqld.pid&#xff09; 原因&#xff1a;缺少mysql.pid 文件进入/var/run/mysqld 目录&#xff0c;如果 目录 mysqld 不…

ORACEL建表,索引,序列,触发器的分享

ORACEL建表&#xff0c;索引&#xff0c;序列&#xff0c;触发器的分享 一、建表二、创建索引三、创建序列四、创建触发器 提示&#xff1a;废话不罗嗦&#xff0c;直接上代码&#xff01; 一、建表 CREATE TABLE PMS_MERCHANT_TERMINAL (ID NUMBER NOT NULL, -- id 主键MER…

《物联网技术》课程笔记——第三章 物联网感知技术之传感技术

文章目录 1、什么是传感器1.1 人体系统是如何感知外界信息的&#xff1f;1.2 传感器的定义1.3 传感器技术的作用1.3.1 举例:智能建筑 1.4 传感器的组成1.4.1 压力传感器示例 2、传感器的特性2.1 传感器的静态特性变换函数&#xff08;静态特性的一般数学模型 &#xff08;静态特…

基于SGX和联邦学习的电脑程序数据共享

在当今大数据时代&#xff0c;数据共享及数据安全问题已经成为了一大关注焦点。为了解决这一问题&#xff0c;研究者们不断探索新的技术方法&#xff0c;其中包括英特尔的软件保护扩展&#xff08;SGX&#xff09;和联邦学习&#xff08;FL&#xff09;。在本篇博客中&#xff…

6-1、kubernetes之yaml文件 pod/deployment/service yaml文件详解

一、概述 kubernetes只支持YAML与JSON格式创建资源对象; JSON格式用于接口之间的消息传递,YAML格式用于配置与管理; YAML是专门用来写配置文件的语言,简洁强大,使用比json更方便。 二、YAML文件优点 YAML文件易于阅读,具有表达性与可扩展性; YAML文件易于实现和使用;