一张图片中的分离数据+十进制删改十六进制+连续base32和64编码+okk编码题目--rsa中求d题目

本文讲述了在CTF竞赛中,通过binwalk和foremost工具分析解密RSA密文,发现隐藏的base32编码,逐步揭示flag的过程,涉及Base64、十六进制转换、文件头识别及复杂编码技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一张图片题目

题目rsa中求d


题目来源ctf杂项50

一张图片题目

1.图片用010打开后,发现这张图片数据过多,搜索到flag.zip压缩包文件可能需要分离文件

2.使用binwaik发现有压缩包,分离后

3.发现压缩包注释有base32编码,解密后是123456

4.发现flag压缩包解压需要密码,是刚才解密的123456密码。

发现里面的文件是从0-9符合十进制,

5. 使用脚本转16进制后,再转字符发现是乱码

6.发现上面0-9的文件不是十进制而是十六进制,尝试将文件开头几个数字进行16转字符发现确实符合.。并且其中有大量的0x,并且发现377a是7z的文件头

7.通过脚本将0x去掉,然后写入txt文件。

写入txt中发现需要将字符转bits,否者不能输出txt文件

replace()函数替换指定字符

8.发现打印出来的结果导入十六进制编辑器后,不是正确的7z文件夹。查找原因后发现每一个0x后面必须是两个字节否者往前补零,增加补零脚本

split()函数分析

zfill()函数分析

9.最后成功导入(是导入而不是复制,复制会出差)十六进制编辑器,生成7z压缩包

10.生成的7z压缩包解压需要密码

11.使用foremost分离查看有没有其他东西

12.发现还有一张分离后的图片,用编辑器打开后发现最后有类似于base编码的密文

通过base64解码后得到base32,再次解码后获得钥匙

13.解开压缩包后发现是一大块密文,密文结尾有==号,猜测是base编码

14.查看wp发现是base64和base32混合编码

研究脚本

Re.match()函数

15.进行多长解码后得到ook编码进行解码后得到brainfucck编码再次进行解码得到flag

题目:总结,使用kali分离数据时。binwaik和foremost都尝试一遍。Foremost与binwalk不同的是前者会将源文件分离出来后,会留下分离后的东西。编写脚本对长密文进行解码时,先取一小段使用工具进行解码,确定是不是对这种进行解码。

题目rsa中求d

1.直接敲公式可解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值