BUUCTF MISC 21 - 40

博主1:https://davidcheyenneone.github.io/Misc/BUUCTF/BUUCTF Misc 2(21-40).html
博主2:https://blog.csdn.net/m0_52885531/article/details/117406720
博主3:https://blog.csdn.net/xuanyulevel6/article/details/126072948

21、隐藏的钥匙

用十六进制编辑器打开图片,因为图片格式为jpg,因此搜索FF D9(文件尾标识)在之后发现一串加过密的flag,base64解密即可

22、另一个世界

用十六进制编辑器打开图片,在文件尾发现一串二进制,用二进制转字符即可得到

23、FLAG

首先用十六进制器查看,没有什么发现foremost也未提取出东西,于是用zsteg查看,如图所示,确定为LSB隐写,用stegsolve查看图片


不知道为什么看不见十六进制,只能在保存的先不写文件格式。保存后用十六进制编辑器查看此文件(50 4B 03 04)是zip文件,增加文件后缀,解压得到一个未知格式的文件。
用十六进制器查看此文件。.ELF文件:文件格式,用于存储Linux程序。

由提示搜索hctf文本即可得到flag

24、假如给我三天光明

下载后得到一个加密音频和一张照片。图片下方有这样的图案,搜索后发现是Braille盲文

Braille盲文

https://www.cnblogs.com/gwind/p/8009861.html
布莱尔创造的由6个点为基础结构的盲字,在纸面上有的凸起,有的不凸起,形成64种变化,即64种符形,在每个符号(单位称“方”)左右两列,每列各三个点,从左边自上而下叫做1、2、3点,从右边自上而下叫做4、5、6点。

1. 数字盲文


解读:每个数字的盲文前面都有个“3456”点符形,是数号,表示后面的读作阿拉伯数字。

2. 英语字母盲文(英语一级盲文)


解读:英语盲文a-j都只是用了1245点位即上半截,和数字的一样;k-t是a-j下面加上了3号点位。

3. 汉语拼音盲文

汉语拼音盲文声母表(18个)

注意:声母g/k/h在韵母i/u/ü时变读为j/q/x。z/c/s/zh/ch/sh/r后面的i省略

汉语拼音盲文韵母表(34个)


明显是英语字母盲文,从左到右分别代表:kmdonowg
解压出音频,是摩斯电码,用Audacity提取

较长的蓝色即为“-”,较短的即为“.”,每一段由-和.组成的即为一个字符。用“/”间隔。
-.-./-/…-./.–/.–././…/-----/—…/–…/…–/…—/…–…/…—/…–/-…/–…/

摩斯电码

25、神秘龙卷风

打开题目提示压缩包密码为4位纯数字密码,破解后得到一个记事本。

发现是Brainfuck加密,https://www.splitbrain.org/services/ook可用此网站解密即可。
brainfuck语言常用**> < + - . , [ ] **八种符号来替换C语言的各种语法和命令:
eg: +.>++

26、数据包中的线索

题目提示(在线交流的数据包)用wireshark打开文件,过滤出http数据包追踪TCP流
image.png
猜测可能是base64编码
image.png
base解码,使用在线网站解码发现是个图片下载即可
image.png

27、后门查杀

下载下来有很多文件,提示webshell上传,那用杀毒软件扫描就可以找到webshell
image.png
pass一般用MD5加密,应该就是它了
image.png

28、webshell后门

同上题

29、荷兰带宽数据泄露

提示是一个带宽数据文件,用RouterPassView打开文件,搜索password之类是关键词尝试提交flag即可
image.png

30、来首歌吧

看到音频文件先用Audacity查看,发现上面的音轨是莫斯密码
:::info
… -… -.-. ----. …— … -… …- ----. -.-. -… ----- .---- —… —… …-. … …— . -… .---- --… -… --… ----- ----. …— ----. .---- ----. .---- -.-.
:::

31、面具下的flag

binwalk

拿到图片首先用binwalk扫描,发现存在flag.vmdk文件
image.png
用7z解压vmdk文件7z x flag.vmdk -o./
解压后发现有两个部分组成
image.png
解密网站
part_one是Brainfuck编码:
image.png
image.png
part_two是Ook!编码:
image.png
image.png

伪加密

用foremate解压,发现一个加密的压缩包,于是用十六进制器查看(binwalk会自动忽略伪加密
压缩源文件目录区,第9位开始四位,查看全局方式位标记(全偶数即可除去密码),修改后即可解压文件其余同上
image.png

32、九连环

先用十六进制器查看文件,搜索zip文件头(50 4B 03 04)
image.png
用foremost分析提取一下,得到一个压缩包,但是被加密了,十六进制判断一下是否是伪加密
image.png
绕过伪加密后得到一张照片和加密的压缩包,得到照片没有任何信息,于是用steghide来破解
image.png
image.png
输入密码即可解压加密的压缩包,得到flag

Steghide

1、安装
apt-get install steghide
2、隐藏文件
steghide embed -cf [图片文件载体] -ef [待隐藏文件]
提示输入密码(提取文件用到),不输入则为空密码,打开图片显示正常
3、查看图片中嵌入的文件信息
steghide info [文件]
4、提取图片中隐藏的文件
steghide extract -sf [文件]

伪加密

zip文件由三部分组成:压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志
image.png

压缩文件数据区:
50 4B 03 04:头文件标记(0x04034b50)
14 00:解压文件所需 pkware 版本
01 00:全局方式位标记(有无加密) 头文件标记后2bytes
08 00:压缩方式
5A 7E:最后修改文件时间
F7 46:最后修改文件日期
16 B5 80 14:CRC-32校验(1480B516)
19 00 00 00:压缩后尺寸(25)
17 00 00 00:未压缩尺寸(23)
07 00:文件名长度
00 00:扩展记录长度

压缩文件目录区:
50 4B 01 02:目录中文件文件头标记(0x02014b50)
3F 00:压缩使用的 pkware 版本
14 00:解压文件所需 pkware 版本
09 00:全局方式位标记(有无加密,伪加密的关键,09 00打开就会提示有密码了) 目录文件标记后4bytes
08 00:压缩方式
5A 7E:最后修改文件时间
F7 46:最后修改文件日期
16 B5 80 14:CRC-32校验(1480B516)
19 00 00 00:压缩后尺寸(25)
17 00 00 00:未压缩尺寸(23)
07 00:文件名长度
24 00:扩展字段长度
00 00:文件注释长度
00 00:磁盘开始号
00 00:内部文件属性
20 00 00 00:外部文件属性
00 00 00 00:局部头部偏移量

压缩文件目录结束标志:
50 4B 05 06:目录结束标记
00 00:当前磁盘编号
00 00:目录区开始磁盘编号
01 00:本磁盘上纪录总数
01 00:目录区中纪录总数
59 00 00 00:目录区尺寸大小
3E 00 00 00:目录区对第一张磁盘的偏移量
00 00:ZIP 文件注释长度

修改压缩源文件目录区的全布局方式标记比特值之后即可对文件加密或解密

全局方式位标记的四个数字中只有第二个数字对其有影响,其它的不管为何值,都不影响它的加密属性!
第二个数字为奇数时 –>加密
第二个数字为偶数时 –>未加密

辨别当前的zip是真的加密还是伪加密?

无加密:
压缩源文件数据区的全局加密应当为 00 00(头文件标记后2bytes)
且压缩源文件目录区的全局方式标记应当为00 00 (目录文件标记后4bytes)

假加密:(数据区偶数:未加密,目录区奇数加密)
压缩源文件数据区的全局加密应当为 00 00
且压缩文件目录区的全局方式标记应当为 09 00

真加密:
压缩源文件数据区的全局加密应当为 09 00
且压缩源文件目录区的全局方式应当为 09 00

33、被劫持的神秘礼物

流量包用wireshark分析一下
image.png
发现就TCP和HTTP两种流量包,因为需要账号密码就先过滤HTTP
image.png
发现第一个包为login页面,追踪一下
image.png
感觉可能是需要的账号密码
image.png
转成MD5即可
image.png

34、刷新过的图片

常用刷新键:F5,于是联想到F5隐写

F5-steganography

java Extract /图片的绝对路径 [-p 密码] [-e 输出文件]
默认会将解出来的内容放在txt文件中(得到了一个output.txt文件)
image.png
十六进制器查看发现是个zip压缩文件或者查看文件头标识(PK)于是修改后缀得到一个加密的压缩包
image.png
image.png
没有任何提示于是考虑是否是伪加密,修改后即可得到flag
image.png

F5隐写

https://blog.csdn.net/m0_46296905/article/details/116942784

1、矩阵编码

矩阵编码的基本思想是用n位LSB(最低有效位)表示k位信息(n>k)。
如果要写入的原LSB是a=a1a2a3(n==3),要写入的信息x=x1x2(k == 2)(这里的带下标的a和x都是值为0或1的二进制位,代表各个位上的对应值)
则让a的每两位异或得到的结构跟对应要写入的信息比对,不相等则修改LSB,相等则不改变。这个例子会导致下面四种情况:
:::warning
x1 == a1^a3,x2 == a2^a3,此时不做任何修改
x1 != a1^a3 ,x2 == a2^a3,此时修改a1
x1 == a1^a3,x2 != a2^a3,此时修改a2
x1 != a1^a3 ,x2 != a2^a3,此时修改a3
:::
由于二进制的异或运算的特性可以发现,这个例子里最多只要更改1位就可以达成数据嵌入的效果。
最大更改位数 dmax 的不同代表着不同的编码方式,毫无疑问, dmax取值不同使n和k的关系不同。每种编码方式都可以用有序数组(dmax,n,k)表示,而对于F5隐写,采用的矩阵编码是属于dmax == 1,即(1,n,k)的编码方式,此时n和k满足n ==2k - 1。

2、嵌入

对于n位LSB和k位信息,我们也可以根据以上的例子推测出来通用形式了,下面给出具体的F5隐写的矩阵编码。(忽略了一开始的格式校验步骤等等)

  • 根据待嵌入消息x的长度计算出n和k。

  • 将待嵌入消息x分组,k个消息为一组,每一组写入n个LSB。

  • n和k满足关系 n=2k-1,即k位信息嵌入n位LSB。

  • a=a1a2a3……an是嵌入之前原LSB组成的n位二进制数据,计算散列函数f(a),
    :::info
    计算散列函数f(a):
    第i项表示为ai * i ,i从1开始到n每一项异或相加得到散列函数f(a)值2021051721284362.png
    :::

  • 计算要修改的是a的第几位,y==x ^ f(a)

  • 如果用a’代表信息处理后的待嵌入LSB的码文,那么a’只会出现下面两种情况:

    • a’=a,此时y=0,无需修改任何位。
    • a’!=a,此时y!=0,a和a’只有从左往右第y个二进制位不同(dmax=1),则将第y个二进制数取反修改即嵌入成功。
  • 进入下一组k位消息的嵌入。

3、提取

20210517221223955.png
只要提取出a’,然后进行f(a’)运算就可以得到信息了

35、认真你就输了

使用foremost提取得到压缩包,即可得到flag
image.png

36、藏藏藏

使用foremost提取得到压缩包,打开压缩包里的Word文档得到二维码,扫描即可得到flag
image.png

37、被偷走的文件

题目提示是文件下载,于是大致浏览流量包发现存在FTP协议,过滤一下
image.png
发现一个flag.rar文件,追踪一下发现是下载成功的意思
image.png
于是用foremost分离一下pcapng文件,得到一个毫无提示的压缩包,也不是伪加密
image.png
于是尝试四位数字爆破即可得到flag
image.png

38、snake

使用foremost分离得到压缩包
image.png
打开key是一串base64编码,解码得到一段话
image.png
Nicki Minaj关于蛇的歌《Anaconda》即为密钥,但是并不知道什么加密方式,实际上Serpent也有蛇的意思,Serpent是一个加密算法(不看大佬博客真想不到)
Serpent原理:
https://blog.csdn.net/douqingl/article/details/50256931
使用在线解密网站,因为无法得到密文直接上传文件解密即可
image.png

39、佛系青年

得到一个加密的压缩包,首先查看十六进制器判断是否为伪加密
image.pngimage.png
修改09 00为00 00即可打开此压缩包
image.png
很明显的与佛论禅加密
image.png

40、你猜我是个啥

发现无法打开题目给出的压缩包,于是用十六进制器查看,发现是个png文件
image.png
修改文件后缀得到一张二维码,扫描后发现没有flag
image.png
于是用十六进制器查看,尝试搜索一下关键词
image.png
即可得到flag
image.png

  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值