压缩包密码是加密过的
得到一张扭曲的二维码,还原得
天天PS我真是:)
扫码得【base(gkctf)】
根据提示,存在压缩包,对图片进行分离,果然得到了。
将明文通过base58加密后得到CfjxaPF,解开
得名为1的文件和flag3.png
图片不知道咋说啥,先处理1里的内容
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('15 n 14 a b c d e f g h i j k l m n o p q r s t u v w x y z 10 11 17="n"12 15 n 14 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 10 11 17="n"12 13=0 15 n 14 a b c d e f g h i j 10 11 16="n"13=$((13+1))12 1g("1f=\' \';1e=\'"\';16=\'#\';1j=\'(\';1i=\')\';1h=\'.\';1a=\';\';19=\'<\';18=\'>\';1d=\'1c\';1b=\'{\';1k=\'}\';1t=\'0\';1u=\'1\';1s=\'2\';1r=\'3\';1n=\'4\';1m=\'5\';1l=\'6\';1q=\'7\';1p=\'8\';1o=\'9\';")',62,93,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||do|eval|done|num|in|for|Bn|An|Ce|Cc|Cb|Cn|_|Cl|Bm|Bk|alert|By|Bt|Bs|Cp|Dg|Df|De|Dj|Di|Dh|Dd|Dc|Da|Db'.split('|'),0,{}))
js解密得
for n in a b c d e f g h i j k l m n o p q r s t u v w x y z do eval An = "n"
done
for n in A B C D E F G H I J K L M N O P Q R S T U V W X Y Z do eval An = "n"
done num = 0
for n in a b c d e f g h i j do eval Bn = "n"
num = $((num + 1)) done alert("Bk=' ';Bm='"';Bn='
# ';Bs=' (';Bt=')';By='.';Cb=';
';Cc=' < ';Ce=' > ';Cl='
_ ';Cn=' {
';Cp='
}
';Da='
0 ';Db='
1 ';Dc='
2 ';Dd='
3 ';De='
4 ';Df='
5 ';Dg='
6 ';Dh='
7 ';Di='
8 ';Dj='
9 ';")
根据flag3.png对应得到Aa=a;Ab=b等Bk=’ ‘;Bm=’"’;Bn=’#‘等Cb=’;Cc=’<'等Da=‘0’;Db='1’等
#include <stdio.h>
int main(){
print("w3lc0me_4o_9kct5");
……
}
得到flag
w3lc0me_4o_9kct5
- 26
得到的 flag 请包上 flag{} 提交。
打开看了一波,没啥发现。
docx常规做法,更改后缀为.zip
在/word/media中发现flag
utflag{unz1p_3v3ryth1ng}
果然是unzip everything哈哈哈
派大星最近很苦恼,因为它的屁股上出现了一道疤痕!我们拍下了它屁股一张16位位图,0x22,0x44代表伤疤两种细胞,0xf0则是派大星的赘肉。还原伤疤,知道是谁打的派大星!(答案为32位的一串字符串) 注意:得到的 flag 请包上 flag{} 提交
给了一张粉色的图片,丢进010editor查看,根据提示,找到0x22,0x44的部分
"DD"DD""""D"DD""""""DD"""DD"DD""D""DDD""D"D"DD""""""DD""D""""DD"D"D"DD""""D"DD""D"""DD"""""DDD""""D"DD"""D"""DD"""D""DD"D"D"DD"""DD""DD"D"D""DD""DD"DD"""D"""DD""DD"DD""D"D""DD"D"D"DD"""D"""DD"""D"DD""DD"""DD"D"D""DD"""D"DD""DD""DD"""""DDD""DD""DD"""D""DD""
两种编码,自然想到01转二维码
通过替换得到
0110110000101100000011000110110010011100101011000000110010000110101011000010110010001100000111000010110001000110001001101010110001100110101001100110110001000110011011001010011010101100010001100010110011000110101001100010110011001100000111001100110001001100
转二维码无果
01还能想到二进制,但直接转二进制存在不可见字符。
想了好久,看了大佬博客才知道,此处应该将每八位二进制进行反转
def bin_to_str(s):
return ''.join([chr(i) for i in [int(b, 2) for b in s.split(' ')]])
a = "01101100 00101100 00001100 01101100 10011100 10101100 00001100 10000110 10101100 00101100 10001100 00011100 00101100 01000110 00100110 10101100 01100110 10100110 01101100 01000110 01101100 10100110 10101100 01000110 00101100 11000110 10100110 00101100 11001100 00011100 11001100 01001100"
a = a.split(' ')
flag = ''
for i in a:
test = i[::-1]
flag += bin_to_str(test)
print flag
得到
6406950a54184bd5fe6b6e5b4ce43832
所以到底是谁打的派大星呢?可爱 4. i
Ivy给Harley发了一个短信……算了,编不下去了,先听后看就完事了……
音频解码可能有误差,密码为有意义的无空格小写短句 解密版本为1.25
hint:电话音&九宫格
FreeFileCamouflage,下载的文件可能显示乱码
根据第一条提示,利用dtmf2num对Heathens.wav进行解码(先截取音频中电话音的部分
得到
- DTMF numbers: #22283344477773338866#
根据经验,九宫格解码得
ctfisfun
其中需要自己手动调整部分内容,使其成为有意义的短句
第二步是下载FreeFileCamouflage,并按照要求输入密码和图片进行解密就好,得flag.txt
flag{Pudd1n!!_y0u_F1nd_m3!}
曹操的私生子曹小明因为爸爸活着的时候得罪太多人,怕死后被抄家,所以把财富保存在一个谁也不知道的地方。曹小明比较喜欢屈原,于是把地点藏在他的诗中。三千年后,小明破译了这个密码,然而却因为担心世界因此掀起战争又亲手封印了这个财富并仿造当年曹小明设下四个可疑文件,找到小明喜欢的DBAPP标记,重现战国辉煌。(答案为正确值(不包括数字之间的空格)的小写32位md5值) 注意:得到的 flag 请包上 flag{} 提交
学到了学到了,word还能这样用(脑洞太大了叭
附件得到四个损坏的word,丢进010editor,发现明显的错误
将其修改为F即可正常打开
里面是屈原的诗。作为一个MISC手,应该看到行距的不同,查看【段落】可知道,有些是单倍行距,有些是1.5倍,进行01的转换
分别得到由四个word得到的四串数字。按题目要求进行md5加密就好啦
287b8ceed1c89f1eb1082b3076b7a321
59f3bfe7c1e00ba34e4558cf295544bc
d473ee3def34bd022f8e5233036b3345
由于试到第三串的时候正确了,就没有再对D进行处理啦