长春理工大学第六届CTF网络攻防大赛题解(文末有题目下载链接)

2023-11-20

此题解仅为部分题解,包括:
【RE】:①Reverse_Checkin ②SimplePE ③EzGame
【Web】①f12 ②ezrunner
【Crypto】①MD5 ②password ③看我回旋踢 ④摩丝
【Misc】①爆爆爆爆 ②凯撒大帝的三个秘密 ③你才是职业选手

一、 Re

① Reverse Checkin:

image-20220330173842910
双击文件看到如上提示:“也许你能从字符串里找到什么”。
将文件拖入IDA得到:
image-20220330173915212
在“view”菜单栏找到“opensubviews”下面的“strings”,点开。
image-20220330173936641
东西太多实在是不好找,妙用搜索技能。

Ctrl+F 搜索“flag”得到如上图所示信息
即得到: flag{this_is_a_re_flag}

② SimplePE

双击点开exe文件,尝试直接输入flag,提示错误。
image-20220330174219344
我们将exe文件拖入IDA。
image-20220330174232022
image-20220330174253095
在旁边窗口ctrl+F寻找main函数
双击其中的“_main_0”进入到以下界面
image-20220330174325056

F5 此界面变为可读的C语言。
image-20220330174413315

根据平常的阅读习惯,我们可以rename一下更直观地去了解程序。

image-20220330174429574
将“V6”改为了“indexTable”,即“索引表”。

将“sub_459BDB”改为“printf”

“sub_45CCCD”改为“system”

“sub_4591AE”改为“scanf”

得到

image-20220330174532718

程序看起来更好辨识了。

观察发现我们可以自行制作一个C/C++程序:制作按照这个索引表,将字符数组赋值进去然后再进行遍历数组,操作完成后便是解密后的答案。它解密的过程是利用索引表进行异或操作,遍历整个str1后得到最终的str1便是答案。

写出如下代码:

image-20220330174606724
image-20220330174624208

运行程序得到:

image-20220330174730746

flag{d0_y0u_kn0w_wh4t_1s_r3v3r53}

EzGame

按照往常的习惯,将exe双击打开,发现什么也不显示

image-20220330174745628

那么我们再将exe拖入ida中:

image-20220330174801827

发现它呈现一个这样的状态,说明IDA识别不出来它,说明这个程序是被做过处理的。

于是我们用到“exeinfope”这个脱壳工具,这个工具是用来查程序是否被加密或者压缩的。

我们直接将“EZGame.exe”拖进这个工具中,得到:

image-20220330174817451

观察发现,我们的程序被UPX给压缩了。

image-20220330174839172

而UPX它的特点就是,如果我们用它对程序进行了压缩,那么我们也可以用它进行解压缩操作。于是我们找到UPX工具进行解压缩操作。

Win+R 打开cmd

之后将“upx.exe”拖入cmd窗口中

image-20220330174938210

加入指令**-d** 再将EZGame拖入cmd中

image-20220330174950078

成功解压缩此程序。

于是我们将这个已经解压缩的程序再次拖入IDA

这一次就可以正常显示它的内容了。

image-20220330175002123

image-20220330175044277

还是通过侧边栏找到主函数。

进入主函数,为以下界面

image-20220330175054385

F5查看C语言程序

image-20220330175107200

按照阅读习惯改掉名字(“scanf/system”)后,来看程序的逻辑。

image-20220330175128883

数字要在-1到8之间且不为0的情况下,才会继续往下走。

在等于7的时候会如何?

双击“byte_548108”这个数组进入后得到以下界面

108是这个数组的首地址。

image-20220330175154720

从byte108的小标“0”开始往下数,在出现下面的字符之前能数到7。(已注释)

image-20220330175304378

观察程序代码,发现赋值效果是“原来是0则变为1,原来是1就变为0”给0和1作变化进行循环输入

image-20220330175315545

程序如何跳出,双击查看得到

image-20220330175325299

我们需要让它返回“1”,如果要让他返回“1”,就要让108这个数组的全部成员都不为0,即全为1。

要实现这一功能,就要让成员中的最后两个1和0颠倒,或前两个1和0颠倒,要么任选三个1和0颠倒,直到他们全部都为1。

按照这一逻辑写出程序:

image-20220330175356575

image-20220330175411530

运行得到结果:

image-20220330175425325

算出来好多组答案,不对就可以一个一个试。

  • 1 11110010

  • 5 11111100

  • 7 11111111

现在打开最开始的“EZGame.exe”文件

依次输入“1,5,7”

image-20220330175445691

发现157是正确答案

且需要将157进行md5加密才能得到答案。

(根据提示为32位小写加密)

得到:

image-20220330175531589

得到了flag{6c4b761a28b734fe93831e3fb400ce87}

二、 Web

① f12:

image-20220330175654211

打开网页看见如图所示字样,敲击键盘f12打开开发人员工具,打开源代码,查看索引

image-20220330175749237

得到flag{have_fun_hahaha}

② ezrunner

打开网址出现如下:

image-20220330175810017

这道题其实就是一个命令执行的问题,这个服务器使用的linux命令。先输入whoami看看它是谁。

显示root字样:

image-20220330175853265

之后我们用命令符的命令操作去查看它的目录。

比如“ls”查看当前目录下有哪些文件,“%20”是空格,再加上一个‘/’也就是“ls%20/”回车后可以看到如下:

image-20220330175933213

由上图可以看到目录下存在哪些文件。我们注意到了“flag”。

我们再加上“flag%20-l”查看它的详细信息:

image-20220330180030806

上图可知文件可读,那么我们就用cat命令去进行读取操作:

image-20220330180049663

得到flag{6bb08da7-8be9-403a-bcdd-0c21cea54986}

三、 Crypto

MD5

下载附件“md5.txt”,打开如图所示:

image-20220330180148916

使用md5解码器,将上述密文解码得到admin1

即:flag{admin1}

② Password

打开txt附件得到如下

image-20220330180317258

分析,{}中的x有10位,上述的生日“19900315”共有8位,而剩下的两位也许对应姓名“张三”的缩写“zs”。

尝试将**flag{zs19900315}**提交,提示正确。

③ 看我回旋踢

打开txt附件得到:

image-20220330180247513

猜测前面的“synt”对应“flag”,并发现他们之间的偏移量为13。

于是将“synt{5pq1004q-86n5-46q8-o720-oro5on0417r1}”使用凯撒密码解码器,设置偏移量为13。

得到了flag{5cd1004d-86a5-46d8-b720-beb5ba0417e1}

④ 摩丝

打开附件发现是一串摩斯密码。

image-20220330180359048

直接使用摩斯密码解码器得到“iloveyou”

加上flag{iloveyou}提交发现不对,于是再尝试将所有字母大写,提交flag{ILOVEYOU},提示正确。

四、 Misc

① 爆爆爆爆

下载文件,发现是一个没有后缀的文件。

image-20220330180443683

尝试将文件后缀加上“.rar”变为压缩文件。之后双击点开它发现其中的“flag.txt”。双击发现点开需要密码。

image-20220330180458804

打开压缩文件密码破解软件“ARCHPR”:

image-20220330180507954

在此软件内打开待破解的文件,勾选上所有暴力范围选项,进行暴力破解后得到结果:

image-20220330180517970

文件口令为3465。

我们重新打开这个文件

点击确定

image-20220330180534661

得到flag{ez_z1p_ARCHRP}

凯撒大帝的三个秘密

下载txt附件打开得到如下图

image-20220330180602538

又是一个凯撒密码破解的题,观察iodj应该对应“flag”,他们之间的偏移量为3,将“iodj{H4VB_F4HV4U_F0GH}”使用凯撒解码破解,偏移量设置为3。

得到:flag{E4SY_C4ES4R_C0DE}

③ 你才是职业选手:下载得到“master.jpg”,习惯性地右键点击查看属性,再点击查看详细信息

image-20220330180640210

发现备注一栏居然就是flag。

flag{pr0feSs1ona1_Pl4yer}


长春理工大学第六届网络攻防大赛题目下载链接
Cust第六届网安竞赛题目附件

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

长春理工大学第六届CTF网络攻防大赛题解(文末有题目下载链接) 的相关文章

  • J2EE常见面试题(一)

    StringBuilder和StringBuffer的区别 String 字符串常量 不可变 使用字符串拼接时是不同的2个空间 StringBuffer 字符串变量 可变 线程安全 字符串拼接直接在字符串后追加 StringBuilder
  • 用户数据中的幸存者偏差

    幸存者偏差 Survivorship bias 是一种常见的逻辑谬误 意思是没有考虑到筛选的过程 忽略了被筛选掉的关键信息 只看到经过筛选后而产生的结果 先讲个故事 二战时 无奈德国空防强大 盟军战机损毁严重 于是军方便找来科学家统计飞机受
  • 【网络安全】Facebook代码执行实现命令执行、敏感信息泄露

    部分网站开设编码练习 若安全配置不当 则代码执行将升级为操作系统命令注入 导致敏感信息泄露 本文仅分享命令执行相关知识 不承担任何由于传播 利用本文所发布内容而造成的任何后果及法律责任 未经许可 不可转载 文章目录 信息泄露 扩大危害 信息
  • 【网安神器篇】——WPScan漏洞扫描工具

    目录 一 Wordpress简介 二 WPScan介绍 三 安装 四 获取token 1 注册账号 2 拿到token 五 使用教程 1 常用选项 2 组合命令 1 模糊扫描 2 指定扫描用户 3 插件漏洞扫描 4 主题漏洞扫描 5 Tim
  • 小白入门黑客之渗透测试(超详细)基本流程(内附工具)

    经常会收到小伙伴们这样的私信 为什么我总是挖不到漏洞呢 渗透到底是什么样的流程呢 所以全网最详细的渗透测试流程来了 渗透测试其实就是通过一些手段来找到网站 APP 网络服务 软件 服务器等网络设备和应用的漏洞 告诉管理员有哪些漏洞 怎么填补
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • msyql 异常,别干着急,70%的问题都在这里!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 数据加密保障数据安全

    一 目标 1 1 预研需求 数据加密是安全领域中常用的安全措施 它们的主要作用是保护数据的机密性和完整性 以防止未经授权的访问 窃取 篡改或泄漏敏感信息 数据传输加密 保护敏感数据在传输过程中的安全 当数据通过网络传输时 它们可能会经过多个
  • 内网安全:隧道技术详解

    目录 隧道技术 反向连接技术 反向连接实验所用网络拓扑图及说明 网络说明 防火墙限制说明 实验前提说明 实战一 CS反向连接上线 拿下Win2008 一 使用转发代理上线创建监听器 二 上传后门执行上线 隧道技术 SMB协议 SMB协议介绍
  • 【GRNN-RBFNN-ILC算法】【轨迹跟踪】基于神经网络的迭代学习控制用于未知SISO非线性系统的轨迹跟踪(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 2 1 第1部分 2 2 第2部分
  • 全网最全(黑客)网络安全自学路线!熬夜两周整理(巨详细)

    学网络安全有什么好处 1 可以学习计算机方面的知识 在正式学习网络安全之前是一定要学习计算机基础知识的 只要把网络安全认真的学透了 那么计算机基础知识是没有任何问题的 操作系统 网络架构 网站容器 数据库 前端后端等等 可以说不想成为计算机
  • 【GRNN-RBFNN-ILC算法】【轨迹跟踪】基于神经网络的迭代学习控制用于未知SISO非线性系统的轨迹跟踪(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 2 1 第1部分 2 2 第2部分
  • 【无标题】

    大家都知道该赛项的规程和样题向来都是模棱两可 从来不说具体的内容 导致选手在备赛时没有头绪 不知道该怎么训练 到了赛时发现题目和备赛的时候完全不一样 那么本文将以往年信息安全管理与评估赛项经验来解读今年2023年国赛的规程 帮助选手们指明方
  • 手把手教你使用HarmonyOS本地模拟器

    我们通过下面的动图来回顾下手机本地模拟器的使用效果 本期 我们将为大家介绍HarmonyOS本地模拟器的版本演进 并手把手教大家使用HarmonyOS本地模拟器 一 本地模拟器的版本演进 2021年12月31日 经过一个版本的迭代优化 随D
  • 肿瘤的转录调控:Cell子刊揭示原发性肝癌中转录因子活性的全基因组图谱|国自然热点

    转录调控的研究历史比较长 相关研究在近十年来仍一直增长 也是近年来高分文章的焦点之一 在2023年最佳国自然 中标 研究热点 转录调控中标率高达189 作为国自然热点之一的肿瘤微环境的研究在近几年也一直处于上升趋势 转录调控在肿瘤发生 发展
  • 【安全】简单解析统一身份认证:介绍、原理和实现方法

    深入解析统一身份认证 介绍 原理和实现方法 导语 统一身份认证是什么 统一身份认证的原理 统一身份认证的实现 结语 导语 随着互联网的发展和各种在线服务的普及 用户在不同的应用和平台上需要进行多次身份验证 为了简化用户的登录和减少重复操作
  • 【安全】mybatis中#{}和${}导致sql注入问题及解决办法

    0 问题 使用mybatis的时候遇到了 和 可能导致sql注入的问题 1 预先了解 1 底层通过prepareStatement对当前传入的sql进行了预编译 一个 被解析为一个参数占位符 解析之后会将String类型的数据自动加上引号
  • 【安全】Java幂等性校验解决重复点击(6种实现方式)

    目录 一 简介 1 1 什么是幂等 1 2 为什么需要幂等性 1 3 接口超时 应该如何处理 1 4 幂等性对系统的影响 二 Restful API 接口的幂等性 三 实现方式 3 1 数据库层面 主键 唯一索引冲突 3 2 数据库层面 乐
  • 【安全】使用docker安装Nessus

    目录 一 准备docker环境服务器 略 二 安装 2 1 搜索镜像 2 2 拉取镜像 2 3 启动镜像 三 离线更新插件 3 1 获取challenge 3 2 官方注册获取激活码 3 3 使用challenge码和激活码获取插件下载地址
  • 【安全】网络安全态势感知

    文章目录 一 态势感知简介 1 概念 2 形象举例 3 应具备的能力 二 为什么要态势感知 为什么网络安全态势感知很重要 三 态势感知系统的功能 四 如何评估态势感知的建设结果 五 什么是态势感知的三个层级 四 业界的态势感知产品 1 安全

随机推荐