写在前面:这次moectf,misc一共17道,做出来了14道。然后最后发现misc占我总分比重22%左右,占比最高?好的我是misc手(~二进制手~)。然后这个方面wp也比较好写,就先写了misc的wp。然后没做的道题,等官方题解吧,,,真的不会了……
我做出来的
welcome
两个下载下来:一张图片和一个入门指南
图片:
毕竟是第一个题目嘛~~~应该不难。用winhex瞅瞅:
flag: moectf{Jo1n_0ur_professional_group}
然后吧,,,那个pdf写的挺好的,,,留下来研读……
MD5
这么,,恶臭,,,一定是flag了……
flag:moectf{114514}
Base64
密文:bW9lY3RmJTdCZXpfYjY0JTIxJTdE
解密后:moectf{ez_b64!}
hey fxck you!
下载下来是一个图片:
盲猜图片隐写:binwalk搞一下, 得到这么一串奇奇怪怪的东西
++++++++[>>++>++++>++++++>++++++++>++++++++++>++++++++++++>++++++++++++++>++++++++++++++++>++++++++++++++++++>++++++++++++++++++++>++++++++++++++++++++++>++++++++++++++++++++++++>++++++++++++++++++++++++++>++++++++++++++++++++++++++++>++++++++++++++++++++++++++++++<<<<<<<<<<<<<<<<-]>>>>>>>>---.++.<+++++.--.>+++++.<+++.>>-----.--.<<-.>-.<<<<<+.>>>>>>.<<.>.<<<<<.>>>>+.+++++.------------.<+++++.>.<<<++.<.>>>>>>++++.
这个的话,联系题目名字加上经验(其实要是搜索用的好,是可以搜出来的 这个编码叫做brain fuck,然后在线解密就完了
moectf{yes!yes!fk_U_2!}
Base64?¿
顺手点开hint:
vwxrstuopq34567ABCDEFGHIJyz012PQRSTKLMNOZabcdUVWXYefghijklmn89+/
好了,base64换表,上脚本:
import base64
import string
str1 = "0H9MJjCNPiMgJHMQJNtfyEJgIjtS1Ig=" # 密文
string1 = "vwxrstuopq34567ABCDEFGHIJyz012PQRSTKLMNOZabcdUVWXYefghijklmn89+/" # 换表
string2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
print (base64.b64decode(str1.translate(str.maketrans(string1,string2))))
moectf{itai_base64_qaq}
Pseudo Encryption
这个题目刚开始出bug了,,,
bug版
下载下来是一个zip文件,解压带密码,但是不能用伪密码绕过。无奈之下,扔进winhex瞅瞅,然后就找到这么一串东西:
一看就是base64,,,在线解码,,盲猜url编码
正确版
下载下来是一个zip,但是打不开,,,
扔进ultra editor,发现文件头不对,,,补个文件头
然后解压出来是个图片
然后就跟bug版一样了
密文:bW9lY3RmJTdCSnVzN19jNmFuOWVfQF9iMXQlMjElN0Q=
解密: moectf%7BJus7_c6an9e_@_b1t%21%7D
再解密:moectf{Jus7_c6an9e_@_b1t!}
不 会 吧 ? 就 这 ¿
阴阳怪气编码,,,,
附件下载下来就是这个猫猫头,,,
binwalk分离:
肯定是一个什么编码,,,换成0和1。因为只有两种内容,所以要么是二进制,要么是摩斯。尝试一下摩斯,不行,那就是二进制和ASCII码结合,,,这里写了一个C程序:
#include<bits/stdc++.h>
using namespace std;
int main()
{
string flag=" ";
for(int j=1;;j++)
{
int ans=0;
string a;
cin>>a;
if(a[0]=='#') //用于停止循环
break;
for(int i=0;i<a.size();i++)
if(a[i]=='.')
ans=ans+pow(2,i);
char rel=ans;
// cout<<ans<<" : "<<rel<<"\n";
flag[j]=rel;
}
cout<<flag;
return 0;
}
然后把转换后的内容输进去就有答案啦~~
moectf{Y0u_wh4t?-0n1y_th1S?}
Cor1e的支票
附件下载下来打开是这个亚子:
。。。。。。。。。。。。。。。。。。。。!?!!。?。。。。。。。。。。。。。。。。。。。。?。?!。?。。。。。。。。。。。。。。。。。。!。。。。。!。?。。。。。。。!?!!。?!!!!!!?。?!。?!!!。!!!!!。?。。。。。。。。。!?!!。?。。。。。。。。?。?!。?。。!。?。。。。。。。!?!!。?!!!!!!?。?!。?!!!!!!!!!!!。?。。。。。。。。。!?!!。?。。。。。。。。?。?!。?。。。。。。。。。。!。?。。。。。。。。。!?!!。?!!!!!!!!?。?!。?!!!!!!!!!!!!!!!!!。?。。。。。。。!?!!。?。。。。。。?。?!。?。。。。。。!。。。。。。。!。?。。。。。。。。。。。。。。。。。!?!!。?!!!!!!!!!!!!!!!!?。?!。?!!!。?。。。。。。。。。。。。。。。!?!!。?。。。。。。。。。。。。。。?。?!。?。。。。。。!。!!!!!!!!!!!!!。?。。。。。。。。。。。!?!!。?!!!!!!!!!!?。?!。?!!!!!!!!!!!。?。。。。。。。。。。。。。!?!!。?。。。。。。。。。。。。?。?!。?。。。。。。。。。。。。。。。。。。!。?。。。。。。。。。。。。。!?!!。?!!!!!!!!!!!!?。?!。?!!!!!!!!!!!!!。?。。。。。。。。。。。!?!!。?。。。。。。。。。。?。?!。?。。。。!。。。。。。。。。。。。。!。?。。。。。。。。。。。。。。。!?!!。?!!!!!!!!!!!!!!?。?!。?!!!。?。。。。。。。。。。。。。。。!?!!。?。。。。。。。。。。。。。。?。?!。?。。。。。。。。。。。。。。。。。。。。。。。。。。!。!!!!!!!!!!!!!!!!!。!!!!!!!!!。!!!!!!!!!!!!!。?。。。。。。。。。。。。。!?!!。?!!!!!!!!!!!!?。?!。?!!!!!!!!!!!!!!!!!!!!!。?。。。。。。。。。。。。。。。。。!?!!。?。。。。。。。。。。。。。。。。?。?!。?。。。。!。?。。。。。。。。。!?!!。?!!!!!!!!?。?!。?!!!!!!!!!。?。。。。。。。。。。。!?!!。?!!!!!!!!!!?。?!。?!!!!!!!。?。。。。。。。!?!!。?。。。。。。?。?!。?。。。。。。。。!。?。。。。。。。。。。。。。!?!!。?。。。。。。。。。。。。?。?!。?。。。。。。。。。。。。。。。。。。!。?。
emmm..........肯定是一个编码啊,,,然后查一下,,,发现有一个编码叫做Ook编码和前面的Brain fuck一个作者,,,然后加上Ook,在线解码:
moectf{cor1e_AnD_e3qie_1s_CP}
内心OS:#?!#$@?@**!@%#%^&@%@#
简单的社工题目
这个题狠毒瘤,,,
第三个图片,,,他的关注,你逆着看: 923431@ourmail.cn ,进去后要输入密码,这里我是爆破出来的,但是其实是弱口令:a123456,进去了后看到一串神秘代码:
底下还有个这个:
盲猜百度网盘(其实我开hint了,,,然后就可以得到flag了
A3FXCK
下载是一个图片,binwalk干他!!!
然后发现这样一个东西:
luoq1an -> 1 ->[
arttnba2 -> 2 ->]
arttnba3 -> 3 ->(
luoqi4n -> 4 ->)
arttnba5 -> 5 -> +
arttnba6 -> 6 -> !
代换以后,根据“+!”这6个符号以及题干信息,知道这是JS fuck编码,再浏览器的控制台里或者在线解密一下:
moectf{J5Fxck_1s_1nt3res7in9!}
⑨的完美教室
我觉得这个题是真的毒瘤,,,
看到nc连上去:
???
数学不好???
然后发现一直输入9,,,没有任何问题
我就很懵逼,还社工了一下这个动漫人物。。。。。
开了hint才知道,,,这TM就是一个pwn题
真的艹,,,这个题
上脚本:
from pwn import *
p = remote('sec.arttnba3.cn',10001)
while True:
recv = p.recv()
p.sendline('9')
if b'ctf' in recv:
print(recv)
break
挂一下某个毒瘤出题人
moectf{c1rn0_1s_tH3_5tr0n9est!}
停不下来了啊啊啊啊啊啊啊
这题能把人笑死,,,
下载下来是一个视频,然后唱了一会歌,就听他“啊啊啊啊啊~~”,,,
突然看到一道黑影一闪而过,,,嗯?好像是个flag?拖到Pr里面一帧一帧的看,,,看到了!!!
艹,,,才一点,但最起码思路正确,然后一看全长:4h,,,瞬间自闭
但u1s1,hint还是很给力的,,,下载ffmpeg,侦测黑场帧,百度了老久用法,,,
$ ffmpeg -loglevel info -i final.mp4 -vf blackframe=95:30 -f null -
然后把结果复制下来:
但是哟一个问题,,这里的黑场帧对应的是时间戳(实在找不到显示帧数或者时间的方法),,,于是只能用时间戳en上,看一眼视频帧率30,那就用时间戳/帧率就是秒数,再转化时间,在那个大致范围里面一点一点找,,,(还是在啊~~)最后终于集齐龙珠,召唤神龙(bushi,获得flag
moectf{G0d_Of-Vid3o+Edit1ng_AnD_ffmp3G}
星空
下载下来解压是一张图片,binwalk分离,然后发现420张图片……woc这是在考察我5岁之前的技能啊——拼图,但是手拼有失水准(其实是根本拼不来。所以这个题,需要用一个工具:gaps,这个东西环境比较难安装(windows辣鸡……
我是在我的虚拟机上安装的,然后先用montage把这些块块拼成一个图片,然后再用gaps拼图……
montage *jpg -geometry 100x100+0+0 out2.jpg
gaps --image out2.jpg --generations 2000 --population 420 --size 100
当时github上面readme的指令没一个能用……readme辣鸡。然后只能靠百度了,搜了老久,然后自己手调才试出来的……
但是,不管怎么调整参数,拼图始终不能完美,,最好的结果就是这个:
还好我不是电竞选手:
moectf{thE_5t@rrY_sKy_1s_ReAlly_beauTifuL}
Osu! Master!
之前打过osu,,但是我太菜了……所以就把osu卸载了,然后为了做题又安装上了。
下载附件是一个osu的谱子,进去打一打~~发现谱子上有一个moectf的黑旗子在闪烁,盲猜morse。但是……这个工具人好难啊,,然后在RX大佬的引导下,学习了osu制谱里面的Osu story board文件结构:在.osb文件里里面写着图片闪烁的时间参数,把他提取出来,发现图片显示的时间持续在270或者540,然后间隔的时间是270或者810,于是我手动把里面所有时间参数dump下来,然后写了一个转化成morse密文的py脚本:
def change(a,b):
if(b-a==270):
return '.'
else:
return '-'
dic=[2133,2673,2943,3213,3483,4023,4293,4833,5643,6183,6453,6993,7263,7803,8613,8883,9153,9423,9693,10233,11043,11313,11583,12123,12933,13203,13473,14013,14283,14553,15363,15633,16443,16983,17253,17793,18063,18603,19413,19683,19953,20223,20493,20763,21573,21843,22113,22383,22653,23193,24003,24543,24813,25353,26163,26433,26703,27243,28053,28323,28593,28863,29133,29403,30213,30753,31563,31833,32643,32913,33183,33723,33993,34263,35073,35343,35613,35883,36153,36423,37233,37773,38043,38583,38853,39393,40203,40473,40743,41013,41283,41553,42363,42903,43173,43713,43983,44523,45333,45603,45873,46143,46413,46683,47493,48033,48843,49113,49383,49923,50193,50463,51273,51813,52083,52623,52893,53433,54243,54783,55053,55323,56133,56673,56943,57483,57753,58023,58833,59373,60183,60453,60723,60993,61263,61533,61803,62073,62883,63153,63423,63693,64503,64773,65043,65313,65583,65853,66663,66933,67203,67473,67743,68283,68553,68823,69633,69903,70173,70713,70983,71253,71523,71793,72603,72873,73143,73683,74493,75033,75303,75843,76113,76383,77193,77733,78003,78543,78813,79083,79893,80163,80433,80703,81513,81783,82053,82323,82593,82863,83133,83673,84483,84753,85563,86103,86373,86643,86913,87453,87723,88263,89073,89613,89883,90423,90693,91233,92043,92313,92583,92853,93123,93663,94473,95013,95823,96363,96633,97173,97443,97983,98793,99063,99333,99873,100143,100413,101223,101493,102303,102573,102843,103383,103653,104193,105003,105273,105543,106083,106893,107163,107433,107973,108243,108513,109323,109863,110133,110403,110673,110943,111753,112293,112563,112833,113103,113643,113913,114453,115263,115803,116073,116613,116883,117423,118233,118503,118773,119043,119313,119853,120663,121203,121473,121743,122013,122283,123093,123633,123903,124443,124713,125253,126063,126603,126873,127143,127953,128493,128763,129303,129573,130113,130923,131463,132273,132543,132813,133353,134163,134433,134703,134973,135243,135783,136053,136323,137133,137403,137673,138213,138483,138753,139563,139833,140103,140643,141453,141723,141993,142263,143073,143613,143883,144153,144423,144693,145503,146043,146313,146853,147123,147663,148473,148743,149013,149283,149553,150093,150363,150633,151443,151713,151983,152253,153063,153603,154413,154683,154953,155223,155493,155763,156573,156843,157113,157653,157923,158193,158463,158733,159543,159813,160623,161163,161433,161703,162513,163053,163323,163863,164133,164403,165213,165753,166563,166833,167103,167373,167643,167913,168183,168453,169263,169533,169803,170073,170883,171423,172233,172503,172773,173043,173853,174123,174393,174663,174933,175203,176013,176553,177363,177633,177903,178173,178443,178713,178983,179253,180063,180333,181143,181413,181683,182223,182493,182763,183573,183843,184113,184383,185193,185733,186003,186543,186813,187083,187893,188163,188433,188703,188973,189243,189513,189783,190593,191133,191943,192213,192483,192753,193023,193563,193833,194103,194913,195183,195453,195993,196263,196533,196803,197073,197883,198153,198423,198963,199773,200313,200583,201123,201393,201663]
cnt = 2
print(change(dic[0],dic[1]),end='')
while cnt<len(dic):
if dic[cnt]-dic[cnt-1]==810:
print('/',end='')
print(change(dic[cnt],dic[cnt+1]),end='')
cnt=cnt+2
# 结果:-.--/---/..-/.-/.-././---/.../..-/--/.-/.../-/./.-./.../---/.../---/.../-/.-./---/-./--./-/..../../.../..-./.-../.-/--./--./../...-/./-.--/---/..-/-/---/.-././.--/.-/.-./-../-.--/---/..-/-../---/-./---/-/.-/..-./.-./.-/../-../---/..-./../-/.../.-.././-./--./-/..../../-/../.../-/...././.-./../--./..../-/..-./.-../.-/--.
然后在线工具搞一下:
YOUAREOSUMASTERSOSOSTRONGTHISFLAGGIVEYOUTOREWARDYOUDONOTAFRAIDOFITSLENGTHITISTHERIGHTFLAG
moectf{YOUAREOSUMASTERSOSOSTRONGTHISFLAGGIVEYOUTOREWARDYOUDONOTAFRAIDOFITSLENGTHITISTHERIGHTFLAG}
我没做出来的
参考了Dawnwhisper、-k0414-和arttnba的博客,剩下的三个题目:两只企鹅,show off,以及闪电风暴(不建议看或者做……)的题解就都有了~~大家可以点击移步到各位大佬的blog里面转一转。(要是有了官方wp我还会回来更新的~