这次比赛的misc相比于其他方向比较简单,其他方向0解、1解的时候,很多队伍misc已经ak了。其他方向全是神仙打架,只有misc在摸鱼。不过由于队友们都特别给力,最后成绩也不错,预赛拿到了个第六名,进了决赛,有机会去成都玩了。
这篇文章就写一下此次比赛中misc方向的题解。
[toc]
签到
关注公众号,回复fl4g,得到

下载得到一个flag.docx,里面有一串emoji,解码得到flag

套娃

下载文件得到一个hardzip.zip,里面还有一些只有几KB的密码文件,显然是CRC爆破,每个txt里的字符串长度均为2:
import datetime
import binascii
def showTime():
print datetime.datetime.now().strftime("%H:%M:%S")
def crack():
crcs = set([CRC]) #输入每个文本的CRC值
r = xrange(32, 127)
for a in r:
for b in r:
txt =chr(a)+chr(b)
crc = binascii.crc32(txt)
if (crc & 0xFFFFFFFF) in crcs:
print txt
if __name__ == "__main__":
showTime()
crack()
showTime()
爆破完得到:

最终压缩包密码即为:!qQIdEa@#!z)
解开hardzip.zip,得到一个easyzip.zip
用bandizip或者winrar可以看到3个文件,因为头文件错误的问题有些压缩包看不到。

有两个CRC一模一样的文件,而且一个加密一个未加密,显然是明文攻击。明文攻击得到压缩包密钥:%3#c$v!@

解开压缩包得到flag.txt:
V20xa2NGa3hPV1ppYlRrd1lraDBkMk51WkdwWU1UazVXVmh2YlZreVZtaGFSMnhC
连续三次base64解码,得到:
fgic__notl{prwc__}az&ceadi@
传统型栅栏密码解密,key为3,解得:
flag{zip&crc_we_can_do_it}@
后面的@不要即为flag
王牌特工
下载压缩包得到一个findme文件

可以分离出两个有用的文件,flagbox和key.txt

key.txt里的数据为:
key:a_cool_key
use Veracrypt
下载Veracrypt,key为a_cool_key,解flagbox得到一个flag.txt:

这里说要回头看看,猜测可能原文件里有隐藏的东西。用DiskGenius恢复findme文件,得到:

把下面的密文用base64解码,得到:
真的密码:this_is_a_true_key
重新利用Veracrypt装载,得到realflag:
flag{you_are_a_cool_boy}
BeCare4
下载附件得到一个加密压缩包和一个npmtxt,用零宽字节解npmtxt里的字符串,解得:
oh,you found the pass:RealV1siBle
解开压缩包得到一张女孩子的图片,拖入SilentEye即可获得flag:

这最后一题看似很简短,但在此次比赛中,解出人数远少于前三题。这题也是队友发现的用SilentEye来解,我以前只利用SilentEye解过音频文件,从未想过图片也能用SilentEye来解,甚至还是jpg格式的图片,又get到了新的知识点。