buuctfCTF2019-虚假的压缩包

来更新日常啦

简单的做点wp今天做了一道杂项的题

具体就是buuctf里的 [GUET-CTF2019]虚假的压缩包

下载压缩包

我也是抱着试一试的想法,用HXD看了一下 确定虚假的压缩包是伪加密 而真实的压缩包是真加密既然这样先把这个假的解出来

image-20240319202723396

将这里的09 改为08 就可以解开伪加密了里面有一个txt文本 内容如下

image-20240319202832730****

这里并不是简单的算术而是rsa加解密先来讲一下RSA

什么是RSA:

RSA算法是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman于1978年提出。 它基于大数分解的困难性,使用一对公钥和私钥进行加密和解密。

怎么解开RSA的加密呢?

这里涉及到以下知识

image-20240319205034106

取自b站:技术蛋老师的 RSA加解密的过程

就是现在要把这个东西代入这个公式里

n=33 p和q就的出来了 p=3 q=11

然后看上面的欧拉公式不难得出 t=(p-1)x (q-1)= 20

e = 3

d =(d x e) ÷ t = 1 就 d = 7

现在要给了一个数字就是26 其实我是不能够完全明白 的但是具体是 26^7 mod (除余运算) 33(除33)余几

然后这个实例的答案是余5

image-20240320144205355

那么这里的答案就是:答案为5

我们的到答案解开真实的压缩包

image-20240320145707486

检查图片 发现高度有问题

image-20240320145937721

将这里改为01 得到一个全新的 数字 是5次方 我的程度就是到这里了我又卡住了 然后参考资料

image-20240320150031344

查找资料得到这个代码 但是不对 有报错 然后就用ai去修修补补 最终用的是python3 所以修改了最后一句

image-20240320163939583

大概意思是 将文件内容以16进制提取出来后 跟 5 进行异或运算 将运算的结果改成字符输出在下面那个doc文档里 运行代码 得到了 文档

image-20240320164225292

打开文档 发现 没有flag 尝试全选 修改底色为黑色

image-20240320164313288

flag就出来了 挺有趣的一道题 难点就在于思路 其次就是脚本 python脚本并不简单所以还是得多学多练。

最后到这就结束了。在buuctf上有原题 可以去搜索一下 尝试做一下

[GUET-CTF2019]虚假的压缩包

buuctfCTF2019-虚假的压缩包
http://example.com/2024/03/19/2024-3-19/
作者
江帆X博客
发布于
2024年3月19日
许可协议
未经允许禁止转载