第一届东软杯网络CTF竞赛-DNUICTF部分wp

2023-11-28 21:30

本文主要是介绍第一届东软杯网络CTF竞赛-DNUICTF部分wp,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MISC

[签到]签到

直接提交flag即可

flag:flag{Dnui_ctf_2021_s1gn_in}

[萌新]在哪呢

ctrl+a全选发现有个空白的地方被选中了

在kali打开选中,拿到flag

flag:flag{hey_there_is_no_thing}

只是个PNG,别想太多了.png

binwalk命令查看png图片:binwalk -e PNG.png,发现flag

flag:flag{zhe_ti_mu_ye_tai_bt_le_XD}

压缩包压缩包压缩包压缩包

zip压缩包套娃,压缩包的密码是下一个压缩包的文件名,python脚本解套:

import zipfiledir = "D:\\Desktop\\test1111\\" # 文件路径n = 0def flag():i = "23898.zip" # 文件名for x in range(10):# i[i:] 从i开始取后面的字符串,后面不填默认取全部# i[:i] 从i开始取前面的字符串,前面不填默认取全部s = i[:i.find('.')]print(x,i)zpf = zipfile.ZipFile(dir + s + ".zip")# print(zpf)zip_list = zpf.namelist()# print(zip_list)for f in zip_list:# split('.')[0] 取.前面的字符串# split('.')[1] 取.后面的字符串pwd = f.split('.')[0]print(pwd,'成功')zpf.extract(f,dir,bytes(pwd.encode("utf-8")))i = str(f)
flag()

解压到最后得到23333.zip,打开发现注释提示密码6位数,ARCHPR爆破得756698

解压后打开文件搜索flag拿到flag

flag:flag{Unz1p_i5_So_C00l##}

easysteg

一张缺了一个定位符的二维码png图片(补码后发现不补也能扫出来),用微信扫出内容 某种常见的隐写

用010editor 16进制查看,发现尾部有zip压缩包,分离处理,解压出一张png图片

比赛的时候用stegsolve和zsteg看了各个通道,用了各种方法都没找出来

比赛完看了别的师傅的wp用stegpy一把嗦出来了。。。

(痛失千分题,哭死,这道做出来应该能进前80)

flag:flag{Do_U_Kn0w_Ste9py??}

CRYPTO

[签到]键盘侠

键盘密码,按照字母顺序在键位一顿比划,拿到flag

flag:flag{CLCKOUTHK}

[萌新]素数

队友写的脚本

import random
def rabin_miller(num):s = num - 1t = 0while s % 2 == 0:s = s // 2t += 1for trials in range(5):a = random.randrange(2, num - 1)v = pow(a, s, num)if v != 1:i = 0while v != (num - 1):if i == t - 1:return Falseelse:i = i + 1v = (v ** 2) % numreturn Truedef is_prime(num):# 排除0,1和负数if num < 2:return False# 创建小素数的列表,可以大幅加快速度# 如果是小素数,那么直接返回truesmall_primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997]if num in small_primes:return True# 如果大数是这些小素数的倍数,那么就是合数,返回falsefor prime in small_primes:if num % prime == 0:return False# 如果这样没有分辨出来,就一定是大整数,那么就调用rabin算法return rabin_miller(num)# 得到大整数,默认位数为1024
def get_prime(key_size=1024):while True:num = random.randrange(2**(key_size-1), 2**key_size)if is_prime(num):print(num)return num
a=1027
while 1:get_prime(a+1)if a>1037:break

REVERSE

[签到]signin

拉进IDA,alt+t搜索flag拿到flag

flag:flag{REVERSE_1s_Very_3asy!}

WEB

[签到] flag

页面不断随机输出flag各位置对应字符

搜集拼接后发现是个base64,解码得到flag

flag:flag{nss_login}

最终排名

这篇关于第一届东软杯网络CTF竞赛-DNUICTF部分wp的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111

poj 2976: 题意: 在n场考试中,每场考试共有b题,答对的题目有a题。 允许去掉k场考试,求能达到的最高正确率是多少。 解析: 假设已知准确率为x,则每场考试对于准确率的贡献值为: a - b * x,将贡献值大的排序排在前面舍弃掉后k个。 然后二分x就行了。 代码: #include <iostream>#include <cstdio>#incl

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

poj 2112 网络流+二分

题意: k台挤奶机,c头牛,每台挤奶机可以挤m头牛。 现在给出每只牛到挤奶机的距离矩阵,求最小化牛的最大路程。 解析: 最大值最小化,最小值最大化,用二分来做。 先求出两点之间的最短距离。 然后二分匹配牛到挤奶机的最大路程,匹配中的判断是在这个最大路程下,是否牛的数量达到c只。 如何求牛的数量呢,用网络流来做。 从源点到牛引一条容量为1的边,然后挤奶机到汇点引一条容量为m的边

配置InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 网络

配置InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 网络 服务器端配置 在服务器端,你需要确保安装了必要的驱动程序和软件包,并且正确配置了网络接口。 安装 OFED 首先,安装 Open Fabrics Enterprise Distribution (OFED),它包含了 InfiniBand 所需的驱动程序和库。 sudo

【机器学习】高斯网络的基本概念和应用领域

引言 高斯网络(Gaussian Network)通常指的是一个概率图模型,其中所有的随机变量(或节点)都遵循高斯分布 文章目录 引言一、高斯网络(Gaussian Network)1.1 高斯过程(Gaussian Process)1.2 高斯混合模型(Gaussian Mixture Model)1.3 应用1.4 总结 二、高斯网络的应用2.1 机器学习2.2 统计学2.3

每日一题|牛客竞赛|四舍五入|字符串+贪心+模拟

每日一题|四舍五入 四舍五入 心有猛虎,细嗅蔷薇。你好朋友,这里是锅巴的C\C++学习笔记,常言道,不积跬步无以至千里,希望有朝一日我们积累的滴水可以击穿顽石。 四舍五入 题目: 牛牛发明了一种新的四舍五入应用于整数,对个位四舍五入,规则如下 12345->12350 12399->12400 输入描述: 输入一个整数n(0<=n<=109 ) 输出描述: 输出一个整数

网络学习-eNSP配置NAT

NAT实现内网和外网互通 #给路由器接口设置IP地址模拟实验环境<Huawei>system-viewEnter system view, return user view with Ctrl+Z.[Huawei]undo info-center enableInfo: Information center is disabled.[Huawei]interface gigabit