2021寒假MISC打卡DAY4

博客内容涉及多个CTF比赛的解密题,包括图片、音频和文档的处理。解谜过程包括二维码还原、JavaScript解密、音频解码、九宫格解码和Word文档修复。最终解出的字符串经过MD5加密,揭示了派大星屁股疤痕的秘密和HarleyQuinn的短信密码。
摘要由CSDN通过智能技术生成
  1. [GKCTF2020]code obfuscation

压缩包密码是加密过的

得到一张扭曲的二维码,还原得

天天PS我真是:)

savyZR.png

扫码得【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
  1. 26

[UTCTF2020]docx

得到的 flag 请包上 flag{} 提交。

打开看了一波,没啥发现。

docx常规做法,更改后缀为.zip

在/word/media中发现flag

utflag{unz1p_3v3ryth1ng}

果然是unzip everything哈哈哈

  1. 派大星的烦恼

派大星最近很苦恼,因为它的屁股上出现了一道疤痕!我们拍下了它屁股一张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

  1. [GKCTF2020]Harley Quinn

Ivy给Harley发了一个短信……算了,编不下去了,先听后看就完事了……
音频解码可能有误差,密码为有意义的无空格小写短句 解密版本为1.25

hint:电话音&九宫格

FreeFileCamouflage,下载的文件可能显示乱码

根据第一条提示,利用dtmf2num对Heathens.wav进行解码(先截取音频中电话音的部分

得到

- DTMF numbers:  #22283344477773338866#

根据经验,九宫格解码得

ctfisfun

其中需要自己手动调整部分内容,使其成为有意义的短句

第二步是下载FreeFileCamouflage,并按照要求输入密码和图片进行解密就好,得flag.txt

flag{Pudd1n!!_y0u_F1nd_m3!}
  1. 粽子的来历

曹操的私生子曹小明因为爸爸活着的时候得罪太多人,怕死后被抄家,所以把财富保存在一个谁也不知道的地方。曹小明比较喜欢屈原,于是把地点藏在他的诗中。三千年后,小明破译了这个密码,然而却因为担心世界因此掀起战争又亲手封印了这个财富并仿造当年曹小明设下四个可疑文件,找到小明喜欢的DBAPP标记,重现战国辉煌。(答案为正确值(不包括数字之间的空格)的小写32位md5值) 注意:得到的 flag 请包上 flag{} 提交

学到了学到了,word还能这样用(脑洞太大了叭

附件得到四个损坏的word,丢进010editor,发现明显的错误

sdcjC6.png

将其修改为F即可正常打开

里面是屈原的诗。作为一个MISC手,应该看到行距的不同,查看【段落】可知道,有些是单倍行距,有些是1.5倍,进行01的转换

分别得到由四个word得到的四串数字。按题目要求进行md5加密就好啦

287b8ceed1c89f1eb1082b3076b7a321
59f3bfe7c1e00ba34e4558cf295544bc
d473ee3def34bd022f8e5233036b3345

由于试到第三串的时候正确了,就没有再对D进行处理啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值