zoukankan      html  css  js  c++  java
  • bugku-就五层你能解开吗WP

    如题:

    链接: http://pan.baidu.com/s/1i4TQoz7 密码: w65m

    提示:第一层:CRC32 碰撞

    第二层:维吉尼亚密码

    第三层:sha1 碰撞

    第四层:md5 相同文件不同

    第五层:RSA

    第一层crc32碰撞:

    不多说直接上脚本,这里告诉一下如果自己直接用python写脚本跑的话会很慢,用github上的脚本跑会很快出来的,下面是我跑的结果

    选出看起来有意义的字符(也可以写脚本爆破),可以看到_CRC32_i5_n0t_s4f3组合起来看起有意义

    得到解压密码,进入第二关维吉尼亚密码

    可以看到一条密文和多个密钥(只有一个是正确的),写个python吧

    from pycipher import Vigenere
    b=open('pwd.txt','w')
    a=open('ciphertext.txt').read()
    for i in open("keys.txt"):
        i=i.replace('
    ','')
        flag=Vigenere(i).decipher(a)
        key=flag+'
    '
        b.write(key)
    b.close()
    print 'ok'
    

      

    一千条,难找啊,但是这题是维吉尼亚密码可以查找关键字如:vigenere,password,flag,key等关键字,查找password得到

    THEVIGENERECIPHERISAMETHODOFENCRYPTINGALPHABETICTEXTBYUSINGASERIESOFDIFFERENTCAESARCIPHERSBASEDONTHELETTERSOFAKEYWORDITISASIMPLEFORMOFPOLYALPHABETICSUBSTITUTIONSOPASSWORDISVIGENERECIPHERFUNNY

    可以从中看出password is vigenere cipher funny(空格可以从密文中看出),所以密码是vigenere cipher funny

    进入第三关,sha1 碰撞

    上python吧,代码如下

    import string
    import hashlib
    a=string.maketrans('', '')[33:127]#可以打印的字符
    for key1 in a:
        for key2 in a:
            for key3 in a:
                for key4 in a:
                    keys=key1+"7"+key2+"5"+"-"+key3+"4"+key4+"3"+"?"
                    sha1=hashlib.sha1(keys)
                    flag=sha1.hexdigest()
                    if "619c20c" and "a4de755" and "9be9a8b" and "b7cbfa5"and "e8b4365"in flag:
                        print keys
                        break
    

      

    不知道为什么我能跑出6个结果出来,一个一个试吧,发现 I7~5-s4F3? 是解压密码

    下一关,md5 相同文件不同

    这个百度了一下,下载了两个文件,这两个文件确实输出结果不同但是md5相同

    运行了其中一个发现这个是解压密码

    下一关,RSA

    用openssl求出N和e,发现n和e都非常大,这时候想到维纳攻击

    直接用github上的脚本跑得到d

    然后用rsatool生成私钥

    最后用openssl可求得flag

    flag如下

    这里flag打了马赛克,主要是为了你们不做伸手党,旨在动手实验。

     以上脚本都在这里了:链接:https://pan.baidu.com/s/1yeFJZ2nMeZI29gM10WXavA 密码:drif

  • 相关阅读:
    Django(app的概念、ORM介绍及编码错误问题)
    Django(完整的登录示例、render字符串替换和redirect跳转)
    Construct Binary Tree from Preorder and Inorder Traversal
    Single Number II
    Single Number
    Binary Tree Level Order Traversal II
    Binary Tree Level Order Traversal
    Binary Tree Zigzag Level Order Traversal
    Recover Binary Search Tree
    Add Binary
  • 原文地址:https://www.cnblogs.com/Byqiyou/p/9410885.html
Copyright © 2011-2022 走看看