0%

2022年度SMUCTF的WP笔记

福建三明学院信息工程学院网络攻防大赛(SMUCTF)是由共青团三明学院信息工程学院委员会主办、信息工程学院网络安全协会承办的一场关于网络安全技术练习的CTF夺旗赛。

本篇文章将展示笔者对2022年度福建三明学院信息工程学院网络攻防大赛(SMUCTF)的部分解题笔记(个人理解)。能解出来的题目,手把手教程!

》MISC

SMUGIFQR

SMUGIFQR题目

点击下载附件得到一个gif,不同的图片查看器有不同的高度(判断应该是修改了高度)

两个查看器不一样

这个gif包含了多个二维码,每个二维码只停留不到1秒钟的时间。

Stegsolve是基于java编写(需要安装Java环境),它能够将掩藏在图形中的重要信息解析过来,它能读取图片中的链接、文本信息,软件操作相对简单。

用Stegsolve打开解压得到的flag.gif

接下来使用Stegsolve提供的“Frame Browser”,

Frame Browser

在Frame Browser中点击 > 按钮,可以逐帧查看,用二维码扫描器逐一扫描二维码得到

1
flag{SMUQRs-Are-FUN!}

冰墩墩的汉信码

题目

点击下载附件得到一张冰墩墩的图片

冰墩墩

说是有汉信码,一定在图片上,同样使用Stegsolve,调整好窗口大小后直接按下菜单栏的 > 键,在Red plane 0 的频道画面下出现汉信码

找到汉信码

汉信码是我国具有完全自主知识产权的特殊二维码

汉信码具有知识产权免费、汉字编码能力强、抗污损、抗畸变、信息容量大等特点。

要使用特定的手机APP:中国编码(Android点击下载) 才能扫描

手机安装中国编码APP后扫描得到:

1
Dear SMUCTFers, congratulations on getting the flag:flag{Have_YOu_ever_Heard_0f_HanXinMa}

得到flag{Have_YOu_ever_Heard_0f_HanXinMa}

listentomusic

listentomusic

点击下载附件解压得到一个音频和另一个压缩包

附件内容

pass.wav中是电话拨号音频,使用 在线电话拨号音频解密:Detect DTMF Tones (dialabc.com),选择文件后进行解密得到

1
1933056020
拨号

带到加密包输入密码1933056020得到lsb-silenteye,

lsb-silenteye

根据提示使用SilentEye工具,将音频拖进SilentEye工具,点击Decode,在弹出窗口再次点击decode

音频拖进SilentEye工具

得到以下提示,下载得到SSTVflag,

链接:https://pan.baidu.com/s/1Jsy4naAx3JvOaGWmKeKAfg

提取码:1mci

在网络上的教程大多对sstv的解法是使用kali的Qsstv,但是我的kali中的qsstv显示,这个音频不支持,所以我们使用另外的方法

在手机上下载Robot36(Android点击下载)

手机打开软件使用电脑播放音频得到

得到图片

图片中有

1
flag{D0_YOu_know_SMUmusic_ForWAVE}

High-level_SMUpdf

点击这里下载附件,得到一个压缩包,其中flag.pdf为解密文件

打开pass.pdf,发现改文件受到密码保护,不允许查看

我们打开PDF Password Recovery(或者其他PDF密码解锁爆破工具),选择恢复用户密码使用枚举攻击

使用1-8位密码字符数字组合

得到pass密码,使用密码并且使用PDF编辑器打开pass.pdf文件

在最后一栏有隐形的字,把他复制到记事本中,得到解压密码6ef23c0845c43d82e0614baeba084d11

——>password:6ef23c0845c43d82e0614baeba084d11

打开flag文件后得到包含11张图片的PDF,使用winhex打开发现他拥有两个PDF的文件头,推断使用了wbStego4open把文件隐藏到PDF文件中

两个文件头

我们使用wbStego4.3open.exe(百度上不好找这个工具,点击这里下载),第二步中选择Decode ,输入文件地址后,下一步中选择PDF

直接下一步,不用输入,之后随便输入命名txt文件,然后点击继续,之后在工具的根目录下出现自己命名的txt文件

——>

得到

1
flag{0urSMUPDF}

病毒文件恢复

点击下载附件,解压得到一个勒索文件,一个加密文件

由于,本人目前能力有限,毕竟专业领域有人做的比我们好,所以我们使用360勒索病毒解密:https://lesuobingdu.360.cn/

选择在线解密,上传留言文件和加密文件,点击开始解密,稍等片刻后就可以下载到含有flag的源文件

解密

1
flag{fngD_vwfW_JTqI_E4Kl}

》CRYPTO

hex

hex

点击这里下载附件,解压得到mod.txt给了一串字符串解密得到答案;

分析字符串可以得到是16进制,因为16进制的组成字母范围是 a-f

1
d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0fbb9e1e6b3e3b9e4b3b7b7e2b6b1e4b2b6b9e2b1b1b3b3b7e6b3b3b0e3b9b3b5e6fd

image-20220417031042116

把其转成ASC码即可,但是往往不是那么顺利,因为存在 ASC码超过最大值的问题,需要减128,再转ASC码;

p

脚本:

1
2
3
cipher = "d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0fbb9e1e6b3e3b9e4b3b7b7e2b6b1e4b2b6b9e2b1b1b3b3b7e6b3b3b0e3b9b3b5e6fd"
print(''.join([chr(int(cipher[i:i + 2], 16) - 128) for i in range(0,len(cipher), 2)]))

得到flag{9af3c9d377b61d269b11337f330c935f}

》REVERSE

warmup

题目

点击这里下载附件包,得到某个文件,二话不说放进IDA,因为是64位文件,使用IDA64打开

image-20220417032033287

找到main函数

main函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
int __cdecl main(int argc, const char **argv, const char **envp)
{
char s2[8]; // [rsp+0h] [rbp-40h]
char s1; // [rsp+20h] [rbp-20h]

puts("plz input flag:");
strcpy(s2, "Reverse_is_very_Fun-_-!");
__isoc99_scanf("%s", &s1);
if ( !strcmp(&s1, s2) )
puts("right!");
else
puts("wrong!");
return 0;
}

这里将”Reverse_is_very_Fun-_-!”复制到数组s2中,并将s2和输入的s1进行对比,如果s1和s2相同则输出”right!”否则输出”wrong!”

所以,flag就是Reverse_is_very_Fun-_-!

1
flag{Reverse_is_very_Fun-_-!}

附:信息工程学院网络攻防大赛初赛官方解题报告.pdf

技术分享,如果您觉得内容不错的话不妨进行打赏,您的支持将鼓励我继续创作!
  • 本文作者: i囡漫笔
  • 本文链接: https://i-nmb.cn/SMUCTF.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

欢迎关注我的其它发布渠道