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}

  • 相关阅读:
    SQL 查询中 not in的改进,--not exists
    REST接口--转摘
    C#中@的用法总结(转)
    有感于哈工大matlab被限制使用
    Oracle CURRVAL应用限制
    oracle to_char()函数--数字型到字符型
    如何提交代码到git仓库
    cannot find module 'xxx' 解决办法
    DOM-基本概念及使用
    AJAX-同源策略 跨域访问
  • 原文地址:https://www.cnblogs.com/vict0r/p/13441939.html
Copyright © 2011-2022 走看看