BUUCTF misc 喵喵喵

 

                                                                   

我觉得……够我消化一下的了。涉及到的知识点:

  • LSB隐写
  • 二维码补全(修改图片高度)
  • NTFS交换数据流隐写
  • 反编译
  • python简单解密(python使用)

吐血而亡……下面是正经的题解:


首先给了一张图片:

看看,是不是一只可可爱爱的小猫咪?mmp

用stegsolve打开,发现最低位通道有点问题:一串可疑的白

分析后发现是一个PNG图片:

导出后保存发现是半张二维码,2333终于知道题目中的扫一扫是什么意思了,修改一下高度,得到大小正常的二维码:

发现二维码的颜色不太对,黑色和白色位置反了。用stegsolve进行颜色对换后得到一张正常的二维码,扫描后下载百度网盘的文件:flag.rar

呼~是不是很感动,这解压之后应该就得到结果了吧,于是我兴致冲冲地解压了,满怀欣喜地觉得齐活了,but!

                                                                                      

这里就要说到一个坑了,这道题的原题是在安恒月赛里的,当时的题目有三个hint,其中一个就是NTFS,但是BUUCTF里面没有提到……卑微-ing,我就看了题解。

然后发现有大佬说这个得到的flag.rar如果用winrar解压就可以报出错误,但我是用bandzip……解压过程顺畅无比……

使用工具

它可以自动识别出你的文件中NTFS隐藏的数据流,并可以直接导出,于是我发现了一个.pyc文件:

丢到在线网站上反编译 python反编译得到一段用来加密的脚本,脚本比较简单,直接写出解密的运行即可得到flag:

反编译出的加密脚本:

import base64

def encode():
    flag = '*************'
    ciphertext = []
    for i in range(len(flag)):
        s = chr(i ^ ord(flag[i]))
        if i % 2 == 0:
            s = ord(s) + 10
        else:
            s = ord(s) - 10
        ciphertext.append(str(s))
    
    return ciphertext[::-1]  #倒序一遍

ciphertext = [
    '96',
    '65',
    '93',
    '123',
    '91',
    '97',
    '22',
    '93',
    '70',
    '102',
    '94',
    '132',
    '46',
    '112',
    '64',
    '97',
    '88',
    '80',
    '82',
    '137',
    '90',
    '109',
    '99',
    '112']

解密脚本:

import base64

ciphertext = ['96','65','93','123','91','97','22', '93','70','102','94','132','46','112','64','97','88','80','82','137','90','109','99','112']
ciphertext = ciphertext[::-1]

def decode():
    code = ''
    for i in range(24):
        if(i%2 == 0):
            a = int(ciphertext[i]) - 10
        else:
            a = int(ciphertext[i]) + 10
        a = i ^ a
        code = code + chr(a)
    print(code)
    
decode()

跑完得到flag:

 

 

 

 

### BUUCTF Miscellaneous Challenge Flag Solution For solving a BUUCTF miscellaneous challenge and finding the associated flag, one must approach such challenges methodically by understanding the provided materials or context within which the challenge operates. Since specific details about this particular BUUCTF misc challenge are not directly given here, general strategies can be outlined based on common practices in CTF (Capture The Flag) competitions. In many cases, flags for miscellaneous challenges follow certain patterns like `flag{...}` where ellipsis represents some text that needs to be discovered through problem-solving techniques relevant to the task at hand[^1]. Participants often need to apply skills ranging from steganography, cryptography, reverse engineering, to web exploitation depending upon what type of puzzle has been set up by organizers. To solve a miscellaneous challenge effectively: - Carefully read all information provided alongside the question. - Look out for any hidden messages embedded within images, audio files, or documents shared as part of the clue. - Experiment with different tools designed specifically for uncovering concealed data. - Consider how elements might relate back to known algorithms or protocols mentioned either explicitly or implicitly during the description. A concrete example cannot be demonstrated without knowing specifics about the current BUUCTF misc challenge being referred to because each scenario varies greatly in terms of required knowledge areas and methodologies employed. --related problems-- 1. What types of puzzles commonly appear under the category of miscellaneous in CTF events? 2. How does one prepare generally for tackling diverse kinds of challenges found in Capture The Flag contests? 3. Can you provide an overview of popular resources used when attempting to decode obscured communications encountered in CTF games? Note: Direct solutions including actual flags should typically come from participating officially in respective CTF activities rather than external sources so as not to compromise fairness among competitors.
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值