防灾科技学院GKCTF2020_misc wp


0x01 签到

  • 比赛直播间地址:https://live.bilibili.com/772947
  • 屏幕上有flag;

0x02 问卷调查

  • 填写对这次比赛的问卷调查,就可以得到flag。
    flag{I_W4nt_t0_Fu4k_GKCTF}
    在这里插入图片描述

0x03 Pokémon

  • 一个.gba格式的文件,下载Visual Boy Advance打开;
    是一个叫 口袋怪兽绿宝石的游戏。
    没办法,开始玩吧。
    在这里插入图片描述
  • 打到103街道的地方,草丛就是flag的字符,哈哈,这个还真有趣。flag{PokEmon_14_CutE}
    在这里插入图片描述

0x04 code obfuscation

  • 下载附件如下:
    在这里插入图片描述
    手动复原
    在这里插入图片描述
  • 生成结果,扫描:
    在这里插入图片描述
  • 扫描结果为base(gkctf),没有明显的信息,所以继续从题目图片提取信息,这里使用stegsolve,发现另一个数据块,其中52 61 72 21是rar文件的开头。
    stegsolve下载地址
    在这里插入图片描述
  • 可以把文件提取,或者直接将原png文件后缀改为rar,得到需要密码的一个压缩文件,将之前得到的gkctf通过base16、base32、base64、base58分别加密,最后base58得到:CfjxaPF成功解压。
  • 得到一段js代码:
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代码进行反混淆,然后美化格式,得到如下代码:
    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';")
  • 代码意思就是提供了一种映射关系,对于Bn,Cn,Dn已给出映射,对于An=“n”的关系。所以将上面图片中那段字符进行替换。
    给出脚本:
import string
s = "$Bn$Ai$An$Ac$Al$Au$Ad$Ae$Bk$Cc$As$At$Ad$Ai$Ao$By$Ah$Ce$Ai$An$At$Bk$Am$Aa$Ai$An$Bs$Bt$Cn$Ap$Ar$Ai$An$At$Bs$Bm$Aw$Dd$Al$Ac$Da$Am$Ae$Cl$De$Ao$Cl$Dj$Ak$Ac$At$Df$Bm$Bt$Cb$Ar$Ae$At$Au$Ar$An$Bk$Da$Cb$Cp"
ll = s.split('$')
list1 = ['Bk','Bm','Bn','Bs','Bt','By','Cb','Cc','Ce','Cl','Cn','Cp',
'Da','Db','Dc','Dd','De','Df','Dg','Dh','Di','Dj']
list2 = [' ','"','#','(',')','.','','<','>','_','{','}','0','1','2','3','4','5','6','7','8','9']
list3 = []
list4 = []
s = string.ascii_lowercase
for i in s:
	list3.append('A%s'%i)
	list4.append(i)
#print(list3,'\n',list4)

t = ''
for i in range(0,len(ll)):
	for j in range(0,len(list1)):
		if ll[i]==list1[j]:
			t += list2[j]
	for k in range(0,len(list3)):
		if ll[i]==list3[k]:
			t +=list4[k]
print(t)

得到:

#include <stdio.h>int main(){print("w3lc0me_4o_9kct5")return 0}

所以:flag{w3lc0me_4o_9kct5};


0x05 Harley Quinn

hint:电话音&九宫格
hint: FreeFileCamouflage,下载的文件可能显示乱码

附件

  • 里面是一个jpeg格式图片和一个wav格式的音频。
  • 对音频收听后最后有一段“拨号”的声音。使用audacity将最后的音频截出来,然后放在dtmf2num.exe分析,得到相应的音频信息:#222833344477773338866#;
    在这里插入图片描述
  • 此时再看提示:FreeFileCamouflage,是一个图片隐藏文件的软件。
    在这里插入图片描述
  • 需要输入密码,这时,从音频得到的字符串输进去没有用,需要用到手机键盘密码;
  • 得到密码为:ctfisfun;
  • 最后分离出flag.txt文件。
  • 拿到flag:flag{Pudd1n!!_y0u_F1nd_m3!}
    在这里插入图片描述

0x06 Sail a boat down the river

附件为一个视频和一个压缩包

hint1: 闪烁的光芒
hint2: 是一行不是一列
hint3: 加密方式很常见

  • 打开视频,其间有一桢闪出一个二维码。
    在这里插入图片描述
  • 扫描后是一个百度网盘链接,但是没有提取码。
  • 借助hint1,回看发现了“闪烁的光芒”,就是视频中间那个摄像头。灯亮分为两种:1桢和3桢。想到摩尔电码,得到如下:
-.-- .-- ---.. --.  ==>  yw8g
  • 输入提取码,成功得到文件shudu.txt
    在这里插入图片描述
  • 密文:efb851bdc71d72b9ff668bddd30fd6bd
  • 数独?
  • 密匙只用填写填入的数字,从左到右从上到下密钥就是52693795149137,尝试用ASE加密。
    在这里插入图片描述
  • 压缩包密码GG0kc.tf,解压出来得到一个.ovex文件,用五线谱打谱软件Overture打开即可拿到flag:flag{gkctf_is_fun}
    在这里插入图片描述

参考:
https://hujiekang.top/2020/05/24/GKCTF-WriteUp/
https://blog.csdn.net/hiahiachang/article/details/106317765

猜你喜欢

转载自blog.csdn.net/weixin_43952190/article/details/106329243