Buuctf misc 部分题目wp

0x01,镜子里面的世界

附件内是一个png图片,使用stegsolve打开

接着打开Analyse-Extract Preview,勾选LSB

在文件开头得到了key值,st3g0_saurus_wr3cks,key值也是flag

0x02,爱因斯坦

通过binwalk查看图片,发现里面藏着一个flag.txt

接着用formemost进行文件分离,

进入到分离之后的文件夹中,发现了一个zip压缩包文件

结果提示需要密码,在图片的属性中发现了一个备注

输入备注内容得到了flag.txt

0x03,ningen

根据题目描述,得知一个密码为4位数字,通过foremost发现里面存在着一个txt文件,接着尝试用binwalk进行文件分离

进入分离后的文件夹内,得到了一个压缩包,解压时发现需要输入密码,利用ARCHPR进行爆破

得到了密码,进行解压得到了ningen.txt

0x04,小明的保险箱

根据题目描述得知密码为4位纯数字密码,接着用winhex打开这个图片,Ctrl+F搜索PK,,发现存在这pk字样

于是修改文件后缀为zip,发现里面有一个2.txt文件,接着通过ARCHPR进行爆破,得到了密码

接着输入7869得到了flag

0x05,easycap

一个流量包,打开之后全是TCP的流量包,直接右键追踪一下TCP流量

直接得到了flag

0x06,隐藏的钥匙

直接用winhex打开图片,搜索flag得到了一个base64加密过的flag

解密后就是flag了

0x07,另一个世界

用winhex打开,在尾部发现了01数字,将01这一串内容复制出来,然后用厨师进行解码

koekj3s就是flag的内容了

0x08,神秘龙卷风

打开后事一个压缩包,里面存在着一个需要密码的txt文件,通过ARCHPR进行破解密码

爆破得到密码为5463,输入后得到了一个BrainFuck加密的内容,用随波逐流进行解码

得到了flag

0x09,FLAG

将图片通过stegsolve打开,并点击Analyze-Extract Preview

发现文件头是pk,是一个压缩包,先把这个文件保存到本地,使用除了winrar以外的j解压软件打开这个zip文件,否则会显示文件损坏

接着使用kali中的strings查看这个1

把hctf修改成flag就可以了

0x10,后门查杀

附件下载之后,系统直接提示报毒了,将其保留之后打开附件是一个html网页

根据题目后门查杀,用D盾直接扫目录

有一个文件直接爆红,首先查看该文件

一下子就看到了一个pass,经过提交后,发现是正确的flag

0x11,webshell查杀

跟后门查杀题目一样,都是拿D盾扫目录就可以得到pass值了

首先查看爆红的文件

这个就是flag

0x12,来首歌吧

附件是一个音频,直接用Audacity打开

发现是莫斯密码的格式,直接打出莫斯

..... -... -.-. ----. ..--- ..... -.... ....- ----. -.-. -... ----- .---- ---.. ---.. ..-. ..... ..--- . -.... .---- --... -.. --... ----- ----. ..--- ----. .---- ----. .---- -.-.

拿去解码

提交flag时注意英文字母为大写字母

0x13,秘密文件

打开后是一个流量包,根据题目描述,可以查看ftp的流量包

发现了一个rar压缩包,使用foremost进行文件分离

打开压缩包后,提示要输入密码,使用ARCHPR进行爆破

得到了密码为1903,打开后就是flag

0x14,被劫持的神秘礼物

是一个流量包。看到题目描述中有账号密码,想到了http流量包,直接过滤http流量

利用shell脚本将这两个字符串拼接在一起,并以md5的形式输出

0x15,[BJDCTF2020]just_a_rar

打开附件,得到了下面的内容

利用ARCHPR进行爆破

得到了密码2016

打开后得到了一个图片,在图片的属性中得到了flag

0x16,[BJDCTF2020]一叶障目

用010打开图片后显示CRC不匹配

在网上找到了一个修复图片CRC报错的脚本

#coding=utf-8
import zlib
import struct
#读文件
file = '/mnt/hgfs/share/1.png'  #注意,1.png图片要和脚本在同一个文件夹下
fr = open(file,'rb').read()
data = bytearray(fr[12:29])
crc32key = eval(str(fr[29:33]).replace('\\x','').replace("b'",'0x').replace("'",''))
#crc32key = 0xCBD6DF8A #补上0x,copy hex value
#data = bytearray(b'\x49\x48\x44\x52\x00\x00\x01\xF4\x00\x00\x01\xF1\x08\x06\x00\x00\x00')  #hex下copy grep hex
n = 4095 #理论上0xffffffff,但考虑到屏幕实际,0x0fff就差不多了
for w in range(n):#高和宽一起爆破
    width = bytearray(struct.pack('>i', w))#q为8字节,i为4字节,h为2字节
    for h in range(n):
        height = bytearray(struct.pack('>i', h))
        for x in range(4):
            data[x+4] = width[x]
            data[x+8] = height[x]
            #print(data)
        crc32result = zlib.crc32(data)
        if crc32result == crc32key:
            print(width,height)
            #写文件
            newpic = bytearray(fr)
            for x in range(4):
                newpic[x+16] = width[x]
                newpic[x+20] = height[x]
            fw = open(file+'.png','wb')#保存副本
            fw.write(newpic)
            fw.close

然后打开修复后的png图片就可以得到flag了

0x17,谁赢了比赛?

打开附件得到了一张棋谱图片

拉入到winhex内,在文末看见了一个flag.txt文件,利用foremost进行分离

发现有一个gif文件被加密了使用ARCHPR进行爆破

得到密码1020,打开这个gif文件是一个棋谱的步骤图,尝试用stegslove进行图片的分离

点击analyse-frame browser,最后在310页看见了跟其他页面不一样的内容

接着将这一帧保存下来,再用stegslove进行查看

在red 0 处发现了一个二维码,使用CQR进行扫描

得到了flag

0x18,梅花香之苦寒来

查看图片的属性后,在详细信息内发现了一个提示

然后用winhex打开发现了一堆数字,查询后得知是16进制数,尝试将这些数字转成字符串格式

将这个结果保存成一个txt文件,并拉到kali中用gnuplot进行绘制图片

得到了一个二维码,用CQR进行扫码

这样就得到了flag

0x19,[ACTF新生赛2020]outguess

附件是一个压缩包,是一个tmp文件夹,打开后有得到了一个压缩包,打开压缩包后得到了一个jpg图片和txt文件

然后将图片用winhex打开

在开头发现了exif,接着看图片的属性,发现了社会主义核心价值观编码

进行解码

得到了密码abc,再联想到题目outguess,发现有一个工具叫做outguess,尝试在kali内配置一下

得到了flag

0x20,[WUSTCTF2020]find_me

将图片保存到本地,先查看图片的属性

发现了盲文,尝试解码

文本加密为盲文,可自设密码|文本在线加密解密工具

得到了flag

### BUUCTF 杂项高难度题目解题思路分析 对于想要挑战更高难度的BUUCTF杂项(miscellaneous, 简称misc题目的参赛者来说,理解这些复杂问题背后的逻辑至关重要。这类题目通常涉及多种技能组合的应用,包括但不限于逆向工程、密码学基础以及编程能力。 #### 了解基础知识框架 在深入探讨具体案例之前,建议先掌握一些基本概念和技术工具。这不仅有助于提高解决问题的能力,也能让学习过程更加高效[^2]。 #### 寻找并研究高质量的学习资料 通过访问像北京联合大学提供的在线平台BUUCTF这样的资源库来获取实际操作经验是非常有益的做法。该网站汇集了许多来自不同竞赛的真实试题,能够帮助练习者熟悉各种类型的挑战[^1]。 #### 分析一个具体的例子——MISC 类型中的“隐写术” 以隐藏信息为例,在图像文件内部嵌入秘密消息是一种常见的测试形式。解决此类问题的方法可能涉及到: - **图片格式解析**:利用Python Imaging Library (PIL) 或其他图形处理库读取和修改位图数据; - **LSB算法应用**:最低有效位(Least Significant Bit)替换法是最简单的隐写方式之一;可以通过改变像素颜色值中最不重要的几位来进行编码而不明显影响视觉效果。 ```python from PIL import Image def hide_message(image_path, message): img = Image.open(image_path) encoded_image = encode_lsb(img, message) encoded_image.save('encoded.png') def reveal_message(encoded_image_path): hidden_img = Image.open(encoded_image_path) msg = decode_lsb(hidden_img) return msg ``` 此代码片段展示了如何使用Pillow库实现简单版本的信息隐蔽功能[^3]。 #### 掌握常用工具集 为了更好地应对复杂的CTF赛事,还需要熟练运用一系列辅助软件和服务,比如Wireshark用于网络流量捕获分析、Ghidra支持二进制反汇编等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值