题目描述:Jack很喜欢看黑客帝国电影,一天他正在上网时突然发现屏幕不受控制,出现了很多数据再滚屏,结束后留下了一份神秘的数据文件,难道这是另一个世界给Jack留下的信息?聪明的你能帮Jack破解这份数据的意义吗? 注意:得到的 flag 请包上 flag{} 提交
解题步骤:010打开txt文件查看,发现二进制rar文件头
脚本将16进制转为二进制流转存为flag.rar
import binascii
hex_data='txt文件中16进制数据'
out=open('flag.rar','wb')
out.write(binascii.unhexlify(hex_data))
out.close()
运行脚本得到flag.rar压缩包,ARCHPR爆破压缩包密码为:3690
打开图片发现提示文件格式错误,010打开,发现文件末尾为FF D9,文件开头应为FF D8,修改文件头,发现flag
flag{57cd4cfd4e07505b98048ca106132125}
题目描述:得到的 flag 请包上 flag{} 提交。感谢Galaxy师傅供题。
解题步骤:解压时发现提示文件错误,010打开,发现开头为aRr,反了
修改61与52的顺序,成功打开文件夹,发现你能看懂音符吗.docx,打开文档提示:呀!一不小心把文档里的东西弄没了……,010打开,发现PK开头
改后缀为.zip,解压发现一堆xml文件,逐个查看,最后在word文件夹中document.xml发现音乐符号文本加密:
♭♯♪‖¶♬♭♭♪♭‖‖♭♭♬‖♫♪‖♩♬‖♬♬♭♭♫‖♩♫‖♬♪♭♭♭‖¶∮‖‖‖‖♩♬‖♬♪‖♩♫♭♭♭♭♭§‖♩♩♭♭♫♭♭♭‖♬♭‖¶§♭♭♯‖♫∮‖♬¶‖¶∮‖♬♫‖♫♬‖♫♫§=
音乐符号解密得到flag:MRCTF{thEse_n0tes_ArE_am@zing~}
flag{thEse_n0tes_ArE_am@zing~}
题目描述:得到的 flag 请包上 flag{} 提交。
解题步骤:打开文件发现Ook!敲击码,解码得:welcome to CTF
flag{welcome to CTF}
题目描述:得到的 flag 请包上 flag{} 提交。感谢Galaxy师傅供题。
解题步骤:010打开,发现提示CRC校验出错
修改图片长宽,发现flag:MRCTF{1ts_vEryyyyyy_ez!}
flag{1ts_vEryyyyyy_ez!}
题目描述:得到的 flag 请包上 flag{} 提交。
解题步骤:打开附件发现flag1中有flag2.zip与flag3.zip,且都被加密,打开flag3.zip,发现提示:呀!我把压缩包密码忘记了,依稀记得是6位数字
ARCHPR爆破得到密码:183792
在flag.docx中发现数字5.20,7.11,还有一个放大镜,应该跟另一个视频影流之主.mp4有关系,Kinovea打开在5.66s处看到了一串编码:… …/… ./… ./ … …/
即为:52313132Tap code敲击码解密:WLLM
转化小写为wllm,接着在视频7.36秒发现一串base编码:dXBfdXBfdXA=
base64解密为up_up_up
拼接字符串为:wllmup_up_up,尝试为flag2.zip压缩包密码,成功,发现Real flag.jpg,010打开,在末尾发现flag:swpuctf{A2e_Y0u_Ok?}
题目描述:得到的 flag 请包上 flag{} 提交。来源:https://github.com/hebtuerror404/CTF_competition_warehouse_2018
解题步骤:打开附件
题目:caesar
描述:gmbhjtdbftbs
flag格式:XXX 明文
提交:直接提交明文 (小写)5
凯撒解密得到flag
flag{flagiscaesar}
题目描述:得到的 flag 请包上 flag{} 提交。来源:https://github.com/hebtuerror404/CTF_competition_warehouse_2018
解题步骤:附件描述:
题目:低个头
描述:EWAZX RTY TGB IJN IO KL 请破解该密文
flag格式:XXX 明文
提交:直接提交明文(大写)
键盘密码:EWAZX构成C,RTY+TGB构成T,IJN+IO+KL构成F
得到flag:flag{CTF}
题目描述:自从报名了CTF竞赛后,小明就辗转于各大论坛,但是对于逆向题目仍是一知半解。有一天,一个论坛老鸟给小明发了一个神秘的盒子,里面有开启逆向思维的秘密。小明如获至宝,三天三夜,终于解答出来了,聪明的你能搞定这个神秘盒子么? 注意:得到的 flag 请包上 flag{} 提交
解题步骤:提示逆向,又是.exe文件,IDA打开,shift+F12查看字符串,发现一串与flag相似的字符串
接着看看well done,发现flag相关线索
找到sub_401090,F5反汇编
int __stdcall sub_401090(HWND hWnd, int a2, int a3, int a4)
{
char v5; // [esp+50h] [ebp-310h]
CHAR Text[4]; // [esp+154h] [ebp-20Ch]
char v7; // [esp+159h] [ebp-207h]
__int16 v8; // [esp+255h] [ebp-10Bh]
char v9; // [esp+257h] [ebp-109h]
int v10; // [esp+258h] [ebp-108h]
CHAR String; // [esp+25Ch] [ebp-104h]
char v12; // [esp+25Fh] [ebp-101h]
char v13; // [esp+260h] [ebp-100h]
char v14; // [esp+261h] [ebp-FFh]
memset(&String, 0, 0x104u);
v10 = 0;
if ( a2 == 16 )
{
DestroyWindow(hWnd);
PostQuitMessage(0);
}
else if ( a2 == 273 )
{
if ( a3 == 1000 )
{
GetDlgItemTextA(hWnd, 1002, &String, 260);
strlen(&String);
if ( strlen(&String) > 6 )
ExitProcess(0);
v10 = atoi(&String) + 1;
if ( v10 == 123 && v12 == 120 && v14 == 122 && v13 == 121 )
{
strcpy(Text, "flag");
memset(&v7, 0, 0xFCu);
v8 = 0;
v9 = 0;
_itoa(v10, &v5, 10);
strcat(Text, "{");
strcat(Text, &v5);
strcat(Text, "_");
strcat(Text, "Buff3r_0v3rf|0w");
strcat(Text, "}");
MessageBoxA(0, Text, "well done", 0);
}
SetTimer(hWnd, 1u, 0x3E8u, TimerFunc);
}
if ( a3 == 1001 )
KillTimer(hWnd, 1u);
}
return 0;
}
发现条件满足
if ( v10 == 123 && v12 == 120 && v14 == 122 && v13 == 121 )
且
if ( strlen(&String) > 6 )
ExitProcess(0);
输入字符长度不超过6位时给出flag
v10 = atoi(&String) + 1;
v10被atoi()函数转为数字整型并且+1,那么满足条件的v10应该为122,v12、v13、v14对应的ASCII字符为xyz,所以输入122xyz,应该能得到flag,尝试,得到flag
flag{123_Buff3r_Ov3rf|ow}
题目描述:喵喵喵,扫一扫 注意:得到的 flag 请包上 flag{} 提交
解题步骤:imageIN查看文件,发现半张二维码
010打开图片,发现CRC校验出问题了,改图片宽高
改图片高度为00 00 01 18
发现图片变为一张完整二维码
QR打开发现一个网址:https://pan.baidu.com/s/1pLT2J4f
发现是百度网盘链接
下载flag.rar文件,发现flag.txt,然后提示:flag不在这里哦 你猜猜flag在哪里呢? 找找看吧,猜测有NTFS文件流隐写,使用ntfsstreamseditor扫,发现flag.pyc文件
在线pyc反编译得到如下代码:
#!/usr/bin/env python
# visit http://tool.lu/pyc/ for more information
import base64
def encode():
flag = '*************'
ciphertext = []
for i in range(len(flag)):
s = chr(i ^ ord(flag[i]))
if i % 2 == 0:
s = ord(s) + 10
else:
s = ord(s) - 10
ciphertext.append(str(s))
return ciphertext[::-1]
ciphertext = [
'96',
'65',
'93',
'123',
'91',
'97',
'22',
'93',
'70',
'102',
'94',
'132',
'46',
'112',
'64',
'97',
'88',
'80',
'82',
'137',
'90',
'109',
'99',
'112']
用脚本将ciphertext解出来:
#Author: mochu7
def decode(arg1):
ciphertext = arg1[::-1]
flag = ''
for i in range(len(ciphertext)):
if i % 2 == 0:
s = int(ciphertext[i]) - 10
else:
s = int(ciphertext[i]) + 10
s = s ^ i
flag += chr(s)
print(flag)
if __name__ == '__main__':
ciphertext = [
'96',
'65',
'93',
'123',
'91',
'97',
'22',
'93',
'70',
'102',
'94',
'132',
'46',
'112',
'64',
'97',
'88',
'80',
'82',
'137',
'90',
'109',
'99',
'112']
decode(ciphertext)