2020安洵杯miscwp

这次比赛的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到了新的知识点。

发表评论