buuctf MISC - key不在这里

得到一张图片,放到ps 反向得到

扫码得到

https://cn.bing.com/search?q=key%E4%B8%8D%E5%9C%A8%E8%BF%99%E9%87%8C&m=10210897103375566531005253102975053545155505050521025256555254995410298561015151985150375568&qs=n&form=QBRE&sp=-1&sc=0-38&sk=&cvid=2CE15329C18147CBA4C1CA97C8E1BB8C

可以发现其中m参数 像是一段ascii码连在一起

构造python脚本解密得到flag

def extract_numbers(input_string):
    # 初始化指针
    pointer = 0
    result = []

    while pointer < len(input_string):
        # 如果开头是1,向后取3位
        if input_string[pointer] == '1':
            extracted_number = input_string[pointer:pointer + 3]
            pointer += 3
        else:
            # 否则向后取2位
            extracted_number = input_string[pointer:pointer + 2]
            pointer += 2

        # 将提取的数字添加到结果列表中
        result.append(int(extracted_number))

    return result

input_string = '10210897103375566531005253102975053545155505050521025256555254995410298561015151985150375568'
numbers = extract_numbers(input_string)
flag = ''
for i in numbers:
    flag += chr(i)
flag = flag.replace('%7B','{')
flag = flag.replace('%7D','}')
print(flag)

flag{5d45fa256372224f48746c6fb8e33b32}

<think>嗯,用户问的是BUUCTF misc中关于snake的解题思路和资源。首先,我需要回忆一下之前处理过的类似题目。根据引用[1]和[2],snake题可能涉及隐藏文件或加密算法。比如在引用[2]中提到,使用binwalk和foremost分离出zip文件,里面可能有base64编码的密文,然后解密得到anaconda,进而联想到serpent加密算法。 用户可能遇到了类似的题目,比如图片文件中隐藏了数据。需要检查文件头,用binwalk或foremost分离出隐藏的压缩包。解压后可能有乱码文件,这时候要考虑base64解码或者其他编码方式。引用[2]中的例子是base64解码得到anaconda,然后使用Serpent算法解密。这可能意味着题目中的snake指的是Serpent加密,一种对称块加密算法。 另外,引用[3]提到处理十六进制数据,直接转换得到flag。所以也有可能题目中的snake只是误导,实际需要处理十六进制或ASCII转换。用户可能需要检查文件属性、十六进制数据,或者尝试不同的编码方式。 需要提醒用户注意分离隐藏文件,检查常见的加密算法,尤其是与蛇相关的如Serpent。同时,注意在线解密工具的使用,以及可能存在的伪加密或密码在图片中的情况。可能还需要结合其他工具如Stegsolve分析图片隐写。 用户可能需要具体的步骤,比如先用binwalk分析,然后foremost分离,解压后处理cipher和key文件,进行base64解码,再使用Serpent解密。同时,注意key文件可能是密码或者密钥。此外,引用[1]中提到害怕图片中的蛇,可能暗示图片本身没有直接线索,重点在文件分析而非图片内容。 总结解题步骤:检查文件头,分离隐藏文件,处理加密数据,使用对应算法解密。需要确认用户是否遇到类似情况,或者题目是否有变化。同时,提醒注意常见的misc解题技巧,如十六进制转换、base64解码、文件分离工具的使用。</think>根据BUUCTF中与"snake"相关的MISC题目解题经验,以下是整理后的解题思路和资源: ### 解题思路分析 1. **文件结构分析** 使用`binwalk`和`foremost`检测附件文件,通常会分离出隐藏的ZIP压缩包[^2]。例如: ```bash binwalk -e snake.jpg foremost -i snake.jpg -o output ``` 解压后可能出现两个文件:`cipher`(密文)和`key`(密钥或编码后的提示)。 2. **密钥解析** `key`文件可能是Base64编码,解码后得到提示如"anaconda",需结合"蛇"的线索联想到Serpent加密算法[^2]: ```python import base64 key = open("key").read() decoded = base64.b64decode(key).decode() # 输出示例:anaconda ``` 3. **密文解密** 使用Serpent算法(蛇算法)在线解密工具,输入`cipher`文件内容和解码后的密钥: - 推荐工具:https://serpent.online-domain-tools.com/ - 输出结果即为flag(格式如`flag{...}`)。 ### 注意事项 1. **文件伪装** 图片可能经过特殊处理(如LSB隐写或十六进制隐藏数据),可用`hexeditor`查看十六进制数据,或`strings`命令提取ASCII字符串[^3]。 2. **算法关联** "snake"可能暗示以下加密方式: - Serpent算法(CTR/CBC模式) - 仿射密码(与Python蛇无关) - 基于蛇形排列的编码(如矩阵转置) ### 相关资源推荐 1. **工具集合** - [CyberChef](https://gchq.github.io/CyberChef/) 支持Serpent解密和多种编码转换 - [Stegsolve](http://www.caesum.com/handbook/Stegsolve.jar) 分析图片隐写 2. **参考题目** - [BUUCTF snake](https://buuoj.cn/challenges#snake) 原始题目环境 - [WUSTCTF2020 爬](https://buuoj.cn/challenges#[WUSTCTF2020]爬) 类似十六进制转换题[^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值