stegano的writeup

    大家好,这次为大家带来的是攻防世界misc部分stegano的writeup。
    先下载附件,是一个pdf文件,打开这个文件。

stegano的writeup_第1张图片

    发现这是一篇很普通的英语文章,没有任何关于flag的信息。于是我抱着试试看的心理,全选这个pdf的内容复制,然后粘贴到记事本上。

stegano的writeup_第2张图片

    果然,发现一串很有特点的字符:BABA BBB BA BBA ABA AB B AAB ABAA AB B AA BBB BA AAA BBAABB AABA ABAA AB BBA BBBAAA ABBBB BA AAAB ABBBB AAAAA ABBBB BAAA ABAA AAABB BB AAABB AAAAA AAAAA AAAAB BBA AAABB。这串字符只由A和B组成,且以空格分开,长短不一。马上想到摩斯密码,即将A看成点,将B看成杠。于是将这串字符复制粘贴到一个新的记事本上,再用python写个脚本解密一下。

def decoding(strings):
    i = 0
    s = ""
    strings += " "
    de = ""
    dict = {"AB": "A", "BAAA": "B", "BABA": "C", "BAA": "D", "A": "E", "AABA": "F", "BBA": "G", "AAAA": "H", "AA": "I", "ABBB": "J", "BAB": "K", "ABAA": "L", "BB": "M", "BA": "N", "BBB": "O", "ABBA": "P", "BBAB": "Q", "ABA": "R", "AAA": "S", "B": "T", "AAB": "U", "AAAB": "V", "ABB": "W", "BAAB": "X", "BABB": "Y", "BBAA": "Z", "ABBBB": "1", "AABBB": "2", "AAABB": "3", "AAAAB": "4", "AAAAA": "5", "BAAAA": "6", "BBAAA": "7", "BBBAA": "8", "BBBBA": "9", "BBBBB": "0"}
    while i <= len(strings) - 1:
        if strings[i] == " ":
            if len(s) <= 5:
                de += dict[s]
            s = ""
        else:
            s += strings[i]
        i += 1
    return de
path = input("输入TXT文档所在文件夹: ")
filename = input("输入TXT文档名: ")
f = open(path + "\\" + filename + ".txt", "r").read().strip()
flag = decoding(f)
f = open(path + "\\" + "result.txt", "w")
f.write(flag)

    呃,这道题有点小坑,字符串中的BBAABB和BBBAAA是无效的,编脚本时要注意。
    运行一下程序,输出一串字符:CONGRATULATIONSFLAG1NV151BL3M3554G3。所以,flag:1NV151BL3M3554G3。

你可能感兴趣的:(攻防世界MISC新手练习区)