CTF(capture the flag)

MRCTF 2020 WP

2020-03-28  本文已影响0人  Du1in9

MISC

0x01 CyberPunk

查壳,upx壳

脱壳,放入ida,f12,MRCTF{We1cOm3_70_cyber_security}

0x02 密码

dtmf-decoder.py脚本解密音频,删除重复数字(音频有杂音),得到1 8 6 8 4 2 1 6 0 9(差1位)

用Audacity观察频谱,第6和7个数字是一样的,所以正确电话号码:1 8 6 8 4 2 2 1 6 0 9

发送公众号,得到flag

0x03 ezmisc

修改图片高度,MRCTF{1ts_vEryyyyyy_ez!}

0x04 pyFlag

得到三张图片,三张图片010editor分别发现[Secret File Part 1:],[Secret File Part 2:],[Secret File Part 3:]

按顺序将三部分合起来得到zip文件,解压

base85解码475532444B4E525549453244494E4A57475132544B514A54473432544F4E4A5547515A44474D4A5648415A54414E4257473434544B514A5647595A54514D5A5147553444474D5A5547453355434E5254475A42444B514A57494D3254534D5A5447555A444D4E5256494532444F4E4A57475A41544952425547343254454E534447595A544D524A5447415A55493D3D3D

十六进制转字符,base32解密,十六进制转字符,base64解密,MRCTF{Y0u_Are_4_p3rFect_dec0der}

 0x05 Hello_Misc

得到两个文件

用stegsolve复原,得到一张png,信息是:!@#$%67*()-+

binwalk一下,发现zip,提出来,输入前面的信息,解压得到out.txt

这里尝试四个数转为二进制,最高位分别是01,11,00,10

将它们取出来,再每8位一组,二进制转ascii,输出:rar-passwd:0ac1fe6b77be5dbe

解压得到zip,再解压看文件,猜测zip是docx文件,改后缀名,全选文字,发现有猫腻

颜色改为深色,再每一行base64解码,再把1去掉,MRCTF{He1Lo_mi5c~}

0x06 你能看懂音符吗

修复文件头,解压得到文档

显示隐藏文字,但是不能复制音乐符号,佛了呀。。。

然后发现文档是zip格式,改后缀名,解压,在document.xml文件里找到了字符

音乐符号转文本,MRCTF{thEse_n0tes_ArE_am@zing~}

0x07 Unravel!!

一张png里提出2张png和一个zip,解压后还是png,根据文件名猜测aes加密

压缩包加了密,wav末尾发现key=U2FsdGVkX1/nSQN+hoHL8OwV9iJB/mSdKk5dmusulz4=解密

解压,wav拖入silenteye,MRCTF{Th1s_is_the_3nd1n9}

0x08 千层套路

写脚本解压,压缩包名就是密码

漫长的等待,最后得到qr.txt,显然是像素点

用PIL库写脚本,得到二维码,扫描,MRCTF{ta01uyout1nreet1n0usandtimes}

0x09 不眠之夜

一堆jpg,10x12=120张,先用montage命令将他们拼成一张

再用gaps还原图片,MRCTF{Why_4re_U_5o_ShuL1an??}

0x1A A Signal From ISS

手机中打开Robot36(iss无线电转图片工具),播放音频,捂上耳朵

https://apktrending.com/apk-android/xdsopl-robot36.html

merak{r3ce1ved_4n_img}

CRYPTO

0x01 天干地支+甲子

0x02 keyboard

0x03 古典密码知多少

对应古典密码表,得到FGCPFLIRTUASYON,再栅栏解密,MRCTF{CRYPTOFUN}

0x04 vigenere

维吉尼亚密码,MRCTF{vigenere_crypto_crack_man}

https://www.guballa.de/vigenere-solver

WEB

0x01 ez_bypass

php是弱语言,要满足md5($id) === md5($gg) && $id !== $gg显然不可能,用数组可以绕过,?id[]=1&gg[]=2,

因为比较时,NULL===NULL

要满足passwd==1234567且passwd不是数字或字符数,可以用?passwd=1234567x绕过,

因为1234567x不是数字但比较时会省略x,满足1234567==1234567

上一篇下一篇

猜你喜欢

热点阅读