zoukankan      html  css  js  c++  java
  • Buuoj rot

    线索

    题目给了密文:

    83 89 78 84 45 86 96 45 115 121 110 116 136 132 132 132 108 128 117 118 134 110 123 111 110 127 108 112 124 122 108 118 128 108 131 114 127 134 108 116 124 124 113 108 76 76 76 76 138 23 90 81 66 71 64 69 114 65 112 64 66 63 69 61 70 114 62 66 61 62 69 67 70 63 61 110 110 112 64 68 62 70 61 112 111 112

    尝试rot解码

    1. 最开始尝试rot5,得到的结果没什么意义。后来想到rot13是字母移位13,何不试一下对密文的数字加减13看看结果。减13转ASCII发现前4个数字对应FLAG因此代码如下:  
    c = "83 89 78 84 45 86 96 45 115 121 110 116 136 132 132 132 108 128 117 118 134 110 123 111 110 127 108 112 124 122 108 118 128 108 131 114 127 134 108 116 124 124 113 108 76 76 76 76 138 23 90 81 66 71 64 69 114 65 112 64 66 63 69 61 70 114 62 66 61 62 69 67 70 63 61 110 110 112 64 68 62 70 61 112 111 112"
    c = c.split(" ")
    
    flag = ""
    for i in c:
        i = int(i) - 13
        flag += chr(i)
    print(flag)
    
    1. 跑出来结果如下:

    FLAG IS flag{www_shiyanbar_com_is_very_good_????}
    MD5:38e4c352809e150186920aac37190cbc

    1. 原以为这就是最终的flag了,提交发现不对。意识到尾部的四个?是需要通过现有字符串已知部分和最终的MD5值求解的~

    通过md5值爆破字符串中4位未知字符

    代码如下,只会这个笨方法,跑出结果大概一两分钟。应该有更优的方法。。。

    import hashlib
    
    head = "flag{www_shiyanbar_com_is_very_good_"
    tail = "}"
    md5 = "38e4c352809e150186920aac37190cbc"
    
    for c1 in range(33,127):
        for c2 in range(33,127):
            for c3 in range(33,127):
                for c4 in range(33,127):
                    st = head + chr(c1) + chr(c2) + chr(c3) + chr(c4) + tail
                    a = hashlib.md5()
                    a.update(st.encode())
                    if a.hexdigest() == md5:
                        print(st)
    

    flag{www_shiyanbar_com_is_very_good_@8Mu}

  • 相关阅读:
    HTTP Status 401
    Spring Data Elasticsearch 应用
    Elasticsearch基础概念
    Windows上使用Linux命令
    在服务器搭建git仓库
    SSH
    Linux/Windows 配置config 使用ssh连接
    在阿里云CentOS服务器上安装Python3.7并设置为默认Python
    Linux下Python3源码安装
    Vue
  • 原文地址:https://www.cnblogs.com/vict0r/p/13441939.html
Copyright © 2011-2022 走看看