• BugKu_MISC_(4)


    BugKu_MISC_(4)



    前言

    BugKu平台练习wp


    提示:以下是本篇文章正文内容,下面案例可供参考

    0X16 抄错的字符

    示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。看题目提取有用信息:
    (1)部分数字抄成了字母
    (2)所有字母都换成大写
    所以flag中包含了数字、大小写字母。
    先把小明抄下来的话按照四个一组分,结果发现最后一组少了一个字母,这题一个是要解码,少了一个应该有问题,看起来像是base64,最后应该有个=

    QWIH BLGZ ZXJS XZNV BZW
    
    • 1

    找出上面每一组可能写错的字母

    I(i)=》1
    
    B(b)=》6
    L(l)=》1
    G(g)=》9
    Z(z)=》2
    
    S(s)=》5
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    尝试对它们进行解码(只列出了解码成功的)

    QWIH  base64解码为AB
    QWIh  base64解码为Ab!
    QW1h  base64解码为Ama
    QwIH  base64解码为C
    
    • 1
    • 2
    • 3
    • 4
    Bl92  base64解码为_v
    bl92  base64解码为n_v
    
    • 1
    • 2
    ZXJS  base64解码为erR
    ZXJ5  base64解码为ery
    
    • 1
    • 2
    X2NV  base64解码为_cU
    X2Nv  base64解码为_co
    XzNV  base64解码为_3U
    XzNv  base64解码为_3o
    
    • 1
    • 2
    • 3
    • 4
    bzw=  base64解码为o<
    b2w=  base64解码为ol
    b2W=  base64解码为oe
    
    • 1
    • 2
    • 3

    将上面每组的可能进行组合尝试提交flag总有一个是对的

    flag{Aman_very_cool}
    QW1h bl92 X2Nv b2w=
    在这里插入图片描述
    这个猜的方法太不稳定了,一旦有一种可能性漏掉都不能得到正确答案,后面我在网上找了一下,可以写代码执行(参考博客:https://blog.csdn.net/jnwlhh/article/details/120096464

    import base64
    s = "QWIHBLGZZXJSXZNVBZW="
    dic = {'I': '1', 'B': '6', 'S':'5','G': '9','Z':'2'}
    res = ''
    
    def check(s):
        f = True
        s = str(s)
        for i in range(len(s)):
            if ((s[i] in list('_+=')) or s[i].isdigit() or s[i].isalpha()):
                continue
            else:
                f = False
                break
        return f
    
    
    def strcon_decode(s,i):
        global res
        if(i==4):
            ss = ''.join(s)
            sss = base64.b64decode(ss)
            sss = str(sss)[2:-1]
            if check(sss):
                # print(ss+' decode: ' + sss)
                ss = res + sss
                res = ss
                return True
            else:
                return False
        else:
            if s[i] in dic.keys():
                ss = s[i]
                s[i] = dic[s[i]]
                f = strcon_decode(s,i+1)
                s[i] = ss
                if f:
                    return True
            s[i] = s[i].lower()
            f = strcon_decode(s,i+1)
            s[i] = s[i].upper()
            if f:
                return f
            return strcon_decode(s,i+1)
            
            
    for i in range((len(s)//4)):
        ss = s[i*4:(i+1)*4]
    #     print(ss+' decode: ')
        ss = list(ss)
        strcon_decode(ss,0)
    
    print(res)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53

    dic这个字典变化得到最后的结果
    例如:
    在这里插入图片描述在这里插入图片描述

    0X17 聪明的小羊

    在这里插入图片描述从题目中提取关键信息:
    (1)栅栏
    (2)2个
    那么就可能是一个栅栏密码进行解密,其中的key为2

    在这里插入图片描述在这里插入图片描述

    0X18 /.-

    在这里插入图片描述
    瞅一眼题,摩斯密码没错了
    复制描述,解码去
    在这里插入图片描述把得到的结果稍微微调一下就是最后的结果了
    flag{d3fcbf17f9399504}

    在这里插入图片描述

    0X19 [±<>]

    在这里插入图片描述看描述,只有[、+、-、<、>、]这几个组成,应该是brainfuck语言,尝试解密一下
    解码网址:www.hiencode.com/brain.html
    在这里插入图片描述在这里插入图片描述
    小知识:
    (参考博客:https://blog.csdn.net/nameofcsdn/article/details/110231730
    Brainfuck语言(简称BF)是一种非常接近图灵机的编程语言
    BF只有8种有效字符,其实就是8种指令:
    在这里插入图片描述BF可以简单的翻译成C/C++语言:
    在这里插入图片描述

    0X20 ok

    在这里插入图片描述下载好文件,一打开人麻了,这么多Ook
    在这里插入图片描述去查了一下这是Ook编码
    解码网址:https://tool.bugku.com/brainfuck/

    在这里插入图片描述在这里插入图片描述
    小知识:
    Ook密码中有大量Ook,加上一些符号;Ook! has only three distinct syntax elements:Ook.Ook?Ook!这种就是ook密码


    又是增长奇奇怪怪知识的一天

  • 相关阅读:
    你们程序员为什么不靠自己的项目谋生?而必须为其他人打工?
    vue3后台管理系统
    如何应用基于条件访问策略的多因子认证(MFA)?
    情感分析与LLMs角色扮演
    用户运营中,培养种子用户的三种模式
    数据结构(一) -- 队列
    MySQL ——多表连接查询
    Microsoft Graph
    从零开始搭建oj(ubuntu)
    【pen200-lab】10.11.1.13
  • 原文地址:https://blog.csdn.net/weixin_51153624/article/details/125899751