攻防世界misc 我们的秘密是绿色的

1.下载oursecret
2.用oursecret解密图片文件。在这里插入图片描述
密码是0405111218192526
在这里插入图片描述
注意双击try.zip,
在这里插入图片描述
在这里插入图片描述
发现文件需要解密,而且有注释你知道coffee的生日是多少吗?由此知道密码都是由数字组成的,而且生日一般是8位,所以据此进行暴力破解
在这里插入图片描述由此得到密码
在这里插入图片描述try.zip解密后解压
在这里插入图片描述根据提示,爆破flag.zip,发现
在这里插入图片描述
使用好压将readme.txt压缩后。发现压缩后的readme.txt和flag.rar里的readme.txt的CRC32的值相同,则说明是明文攻击
在这里插入图片描述
在这里插入图片描述有时候点击开始的时候会出现以下内容,那是因为不同的压缩软件使用的压缩算法不同,后面压缩的那个压缩包需要同题目给的压缩包的压缩算法一直才能进行明文攻击。此时需要更换一个压缩软件进行压缩。(常见压缩软件:好压、winRAR、7z、快压、360压缩)。

在这里插入图片描述

在这里插入图片描述
下载winrar
将readme.txt用winrar压缩成.zip文件
然后用archpr进行明文攻击
在这里插入图片描述然后用口令解压文件后
在这里插入图片描述
发现flag.zip仍是加密的,用winhex打开,将01修改成00
在这里插入图片描述
修改后发现不能保存,所以就复制新建另一件文件,注意文件的尺寸要和原来相同,然后就能把文件打开了。

经栅栏解密得
栅栏解密的代码

def zhalan(e):
    elen = len(e)
    field = []
    for i in range(2, elen):
        if (elen % i == 0):
            field.append(i)

    for f in field:
        b = elen // f
        result = {x: '' for x in range(b)}
        for i in range(elen):
            a = i % b;
            result.update({a: result[a] + e[i]})
        d = ''
        for i in range(b):
            d = d + result[i]
        print(d)
        d.lower()


if __name__ == '__main__':
    e = 'qddpqwnpcplen%prqwn_{_zz*d@gq}'
    zhalan(e)

凯撒解密

def change(c,i):
    c = c.lower()
    num = ord(c)
    if num >= 97 and num <= 122:
        num = 97 + ((num - 97) + i) % 26
    return chr(num)


def kaisa_jiami(string,i):
    string_new = ''
    for s in string:
        string_new += change(s,i)
    print(string_new)
    return string_new

def kaisa_jiemi(string):
    for i in range(25):
        print('\n', i, '\n')
        i += 1
        kaisa_jiami(string,i)


def main():
    print('请选择需要的操作:')
    print('1:凯撒加密')
    print('2:凯撒解密')
    choice = input()
    if choice == '1':
        string = input('请输入需要加密的字符串:')
        num = int(input('请输入需要偏移的位数:'))
        kaisa_jiami(string,num)
    elif choice == '2':
        string = input('请输入需要解密的字符串:')
        kaisa_jiemi(string)
    else:
        print('输入错误,请重试!')
        main()

if __name__ == '__main__':
    main()

得到flag

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值