[长城杯 2022]办公室爱情

[长城杯 2022]办公室爱情

复现过程如下:

  1. 先把沃德.doc复制到kali中,修改后缀名后为沃德.zip,然后解压文件。

  2. 使用grep进行匹配

grep -irE "flag|==|10210897103|666c6167|464C4147|Zmxh|Wm14aFoz|&#102|58s4vb|2uk2h3|key|pass|pwd|password" --binary-files=without-match *

请添加图片描述
请添加图片描述

password1:True_lOve_
password12:i2_supReMe

得到password: True_lOve_i2_supReMe


  1. 使用010editor打开皮迪符.pdf

请添加图片描述

明显看到20 09 0D特征,你往下面滑动的话,还能看见这种特征,这就是wbStego4隐写,下面的图片是我之前写的总结(注明:我并不知道隐写的流程,不保证正确)

请添加图片描述


  1. 使用wbStego4,密码为上一步的True_lOve_i2_supReMe

请添加图片描述

请添加图片描述

得到密码this_is_pAssw0rd@!


  1. 使用上一步的密码this_is_pAssw0rd@!解压皮皮特的外套.zip,打开皮皮特.pptx,如下图:

请添加图片描述

观察了一下,基本就是很多颜色,组合在一起,看别人的WP的操作是,手动记录所有页的颜色,然后根据红橙黄绿青蓝紫的顺序,替换为0~6,然后7进制转10进制,然后转ASCII。

有点麻烦,我还是使用代码吧。

  1. 皮皮特.pptx,修改后缀名后为皮皮特.zip,然后解压文件,将下面代码放到皮皮特\ppt\slides\_rels的文件夹中。

代码逻辑如下:
请添加图片描述
首先我看到了皮皮特\ppt\media里面有8张图片,有红橙黄绿青蓝紫白,我这边定义了一个颜色字典,image1~image8分别代表的颜色。
请添加图片描述
打开皮皮特\ppt\slides\_rels\slide1.xml.rels
请添加图片描述

可以看到../media/image1.pngimage1.png的颜色为黄色,我们看ppt的第一页也是黄色,所以这个文件就和ppt看到的颜色是对应关系,所以代码就利用这一点,就可以得到每一页ppt的颜色。

最后一步就是7进制转10进制,再转ASCII就好了。

import re


color_dic = {
    "image1": "黄", "image2": "红", "image3": "青", "image4": "白", "image5": "橙", "image6": "绿", "image7": "紫", "image8": "蓝"
}

color_str = ""
for i in range(1, 77):
    file_path = f"./slide{i}.xml.rels"
    with open(file_path, "r") as f:
        data = f.read()
    color_str += color_dic[re.findall('media/(.*?).png"', data)[0]]

maketran = str.maketrans("红橙黄绿青蓝紫", ''.join(str(i) for i in range(7)))
lis = color_str.translate(maketran).split("白")
lis.pop(-1)

for i in lis:
    print(chr(int(i, 7)), end="")

运行截图:
请添加图片描述

flag{10ve_exCe1_!!!}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值