首页 > 其他分享 >[BUUCTF]喵喵喵

[BUUCTF]喵喵喵

时间:2024-10-26 23:09:57浏览次数:4  
标签:字符 ciphertext BUUCTF 10 隐写 flag txt

[BUUCTF]喵喵喵

分析

题目是一张图片,打开属性,放入010editor,无果;于是想到LSB隐写

解题

发现一张PNG,但开头不太对劲

将其保存txt文件,发现放入010editor并不可以修改开头

在某位大佬博客中学到一个方法,如下:

首先,在notepad中打开txt文件

Alt按列选择左侧复制,放入Cyberchef

两者交换

下载图片,得到一个二维码

大概率宽高被修改了,在010中进行修改,得到一个完整二维码

扫码得到网址:https://pan.baidu.com/s/1pLT2J4f

接着,得到一个flag.rar,用winrar打开,得到flag.txt

太过分了! 在大佬的wp得知,这是NTFS文件隐写

NTFS文件隐写_ntfs隐写-CSDN博客

txt文件隐藏的信息思路

1.观察txt文件的属性说不定会有线索

2.txt文件里面是一堆空行可能存在snow隐写

3.存在NTFS隐写

并且在使用该工具时,下载的压缩包用WinRAR解压才可以提取到隐藏的文件

流隐写得用WinRAR解压

随后得到一个反编译文件python pyc文件 - 知乎

利用在线反编译工具在线Python pyc文件编译与反编译,得到如下代码

# Visit https://www.lddgo.net/string/pyc-compile-decompile for more information
# Version : Python 2.7

import base64

def encode():
    flag = '*************'
    ciphertext = []#初始化一个空列表ciphertext,用于存储加密后的字符
    for i in range(len(flag)):#使用一个for循环遍历flag字符串中的每个字符。
        s = chr(i ^ ord(flag[i]))#对于每个字符,使用它的索引i和字符的ASCII值进行异或操作,然后使用chr函数将结果转换为一个字符。
        if i % 2 == 0:
            s = ord(s) + 10#如果是偶数,将字符s的ASCII值增加10。
        else:
            s = ord(s) - 10#如果是奇数,将字符s的ASCII值减少10
        ciphertext.append(str(s))#将处理后的字符s转换为字符串,并添加到ciphertext列表中
    
    return ciphertext[::-1]#函数返回ciphertext列表的逆序。

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列表,包含了加密后的字符的ASCII值的字符串表示,这个列表是按照加密函数的逻辑生成的

这段代码是一个加密程序,据此,可有写一个脚本将flag解出来,由于能力有限,借鉴一下网上大佬

def decode(ciphertext):
    # 反转密文列表
    ciphertext = ciphertext[::-1]
    flag = []
    
    for i in range(len(ciphertext)):
        s = int(ciphertext[i])
        
        # 根据索引的奇偶性进行逆操作
        if i % 2 == 0:
            s -= 10
        else:
            s += 10
        
        # 进行逆向的按位异或操作
        original_char = chr(i ^ s)
        flag.append(original_char)
    
    # 将列表中的字符拼接成字符串
    return ''.join(flag)

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'
]

# 解密得到的flag
flag = decode(ciphertext)
print("解密后的flag是:", flag)

解密后的flag是: flag{Y@e_Cl3veR_C1Ever!}


参考:【CTF入门】BUUCTF Misc刷题(持续更新) - Super_Snow_Sword - 博客园

知识点:图片隐写,Lsb,txt隐写,宽高,NTFS隐写,py反编译

标签:字符,ciphertext,BUUCTF,10,隐写,flag,txt
From: https://www.cnblogs.com/arui-li/p/18505318

相关文章

  • BUUCTF_BUU SQL COURSE 1
    BUUCTF_BUUSQLCOURSE1打开实例发现“热点”及“登录”两个选项根据题目提示,sql注入,尝试在登录界面寻找注入点,无果接着进入热点界面,发现三篇新闻,依次点击发现url变化,burp抓包发现是通过对id值的控制访问不同界面,由此发现注入点1.判断注入类型,输入1,2-1?id=1?id=2-1......
  • BUUCTF_2020网鼎杯[朱雀组]phpweb
    BUUCTF_2020网鼎杯[朱雀组]phpweb启动环境页面出现warning,并且发现页面存在自动刷新,使用burpsuite抓包:发现两个参数func和p并且发现页面中有2024-10-2403:55:59am,判断执行了date函数,根据func和p的形式猜测函数执行,func输入函数,p输入语句获取源代码:func=highlight_file&p=......
  • [BUUCTF]丢失的MD5
    [BUUCTF]丢失的MD5分析打开,得到py文件importhashlibforiinrange(32,127):forjinrange(32,127):forkinrange(32,127):m=hashlib.md5()m.update('TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+&......
  • [BUUCTF]RSA
    [BUUCTF]RSA分析得到一段文字:在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17求解出d作为flga提交解题第一想法是python脚本,网上找到一个importgmpy2p=473398607161q=4511491e=17d=int(gmpy2.invert(e,(p-1)*(q-1)))print(d)得到flag{125631357777......
  • BUUCTF之Sandbox-bad
    BUUCTF之Sandbox-bad首先针对sandbox,我们需要有一个大概的认知,他是在一个代码执行环境下,脱离种种过滤和限制,最终成功拿到shell权限的过程,通常我们采用orw的方式来获取flag.orw全称onlyreadwrite,只使用readwrite函数将flag读取并且打印,shellcode分为三个步骤使用open函数......
  • [BUUCTF]数据包中的线索
    [BUUCTF]数据包中的线索解题打开pcapng,进行协议分级,发现Line-basedtextdate占比较大,将其过滤出来追踪HTTP流,发现base64编码复制解码没看到JFIF以为magic又出问题了,于是换了个网址https://the-x.cn/base64,下载JPG文件,得出flag发现电脑好像不可以识图复制flag,果断拿......
  • BUUCTF_MISC题解析(7)
    7.wireshark下载文件发现里面是一个pcap格式的文件。而pcap格式就是网络分析工具保存的网络数据包,是捕获的从网卡发送或者接收的每一个数据包的离线网络流量。 在wireshark官网上下载wireshark,wireshark是网络封包分析工具。将文件用wireshark打开,发现有三个部分,上半部分绿......
  • BUUCTF_MISC题解析(6,8)
    6.乌镇峰会种图把打开的图片放进010editor,拉到最末尾就可以发现flag 8.N种方法解决打开文件是KEY.exe点击打不开,运行不了(exe文件是二进制文件),所以把他拉到010editor打开,data:image/jpg;base64,iVBORw0KGgo......gg==发现是base编码的形式,开头的提示说明是jpg格式的图片,......
  • BUUCTF_MISC题解析(3,4)
    3.你竟然赶我走搜索010editor官网,点第一个页面,下载010editor(十六进制编译器)(黄色图标),直接010editor打开(或者使用stegSolve)一般情况用ctrl+f进入字符串搜索查看是否有插入的flag信息,就可以在文件尾看到flag是flag{stego_is_s0_bor1ing} 4.二维码扫码识别二维码,发现隐......
  • BUUCTF蜘蛛侠呀
    解压后发现是流量包,好多icmp包发现icmp包尾部有$$STRAT打头16进制的字符串,好多重复得。我们只需要提取尾部这些字符串是当icmp的type=0时上图标识为褐色的字符串,还需要把16进制的字符串转为对应的字符串(bytes类型)并去重。使用python脚本importpysharkimportbinascii......