得到一个.docx文件

目前大部分的.docx文档都是 以压缩的形式存在的

修改末尾为zip 查看

在这一步中 我之前直接把这个鸣雏恋.docx给foremost 分离了,分离后的压缩包打开后没找到 love.zip
key.txt ε=(´ο`*)))唉

.

这里是领宽度字符隐写
vim key.txt 打开查看即可
http://330k.github.io/misc_tools/unicode_steganography.html

压缩包密码是:Because I like naruto best

接着我们来打开 love.zip 压缩包

分析可得:

有129488张图片,图片只有两种类型,分别用,0 1 来表示 8个为一组,转为10进制后 转为字母即可

算法的大致思路如下:

  • 先提取压缩包内的所有文件名和文件大小.

  • 因为zipobj.namelist()文件列表中的文件名不是按递增排序的,所以需要先将文件名和文件大小提取到另一个列表内

  • 第一条数据是空的需要删除

  • 这个大列表内存在着许多的小列表,每个子列表代表一个文件,子列表的第一个元素是文件名称,第二个元素是文件大小

  • 因为文件名称是以out/名称为格式的,所以需要删除后缀和out/字符串,保留数字后再转换成数字类型

  • 使用sorted()函数对大列表进行递增,如果列表的元素都为列表时,默认会按每个子列表的第一个元素递增排序

  • 之后的操作就是将文件大小替换成0和1,每8位二进制就转换成十进制,然后再从十进制转换成ASCII码对应的字符

  • 最后把字符结果写入文件

# 小作者:小狐狸FM
import zipfile
lis = []
result = ""
data = ""
size = 1
with zipfile.ZipFile('love.zip', 'r') as zipobj: #读取压缩包for file_name in zipobj.namelist(): #遍历名称info = zipobj.getinfo(file_name)file_name = file_name.encode('cp437').decode('gbk')lis.append([file_name,info.file_size])
# print(lis)
del lis[0]
for i in range(len(lis)): #处理文件名和数据lis[i][0] = lis[i][0].replace("out/","")lis[i][0] = lis[i][0].replace(".png", "")lis[i][0] = int(lis[i][0])if lis[i][1]==262:lis[i][1]='0'else:lis[i][1]='1'
# print(lis)
lis = sorted(lis)
# print(lis)
for i in range(len(lis)):data += lis[i][1] #数据大小if len(data)%8==0: #集齐八位二进制时result+=chr(int(data,2))data=""
with open("2.txt","w") as fp:fp.write(result)

base64转图片

http://tool.chinaz.com/tools/imgtobase/


Misc-----[2021祥云杯初赛]鸣雏恋 提取压缩包文件图片名8个为一组 转ASC码base64转图片相关推荐

  1. 【2021祥云杯】 鸣雏恋

    下载附件,是个压缩包,里面是个docx,打开: 但是我们知道docx文档是可以当作压缩包解压的,所以我们可以将后缀改为zip,在解压得到的文件中找到love.zip和key.txt love.zip有 ...

  2. 2021祥云杯PassWordBox_ProVersion

    目录 前言: 程序分析 大致思路: 利用链: _IO_wfile_overflow _IO_wfile_underflow_mmap: exp: 前言: 复现一下2021祥云杯PassWordBox_ ...

  3. [2021祥云杯]secrets_of_admin

    [2021祥云杯]secrets_of_admin 文章目录 [2021祥云杯]secrets_of_admin 代码分析 /的POST方式 /admin的GET方式 /admin的POST方式 /a ...

  4. 2021 祥云杯 pwn-JigSaw’sCage

    2021 祥云杯 pwn-JigSaw'sCage 这道题属实是没有发现漏洞点在哪里,所以看了一下wm的wjh师傅的wp,发现漏洞出现下图 v1是int,但scanf是ld,所以溢出了4个字节,这就导 ...

  5. 2021 祥云杯 pwn-PassWordBox_ProVersion

    2021 祥云杯 pwn-PassWordBox_ProVersion 这里就没有off by null了,size也只能是large bin的,那肯定就是large bin attack了,libc ...

  6. 2021 祥云杯 pwn-note

    2021 祥云杯 pwn-note 这是一道scanf任意读写的pwn题 漏洞点发生在上图 在第一个图那里下个断点,查看stack时发现%11$p这里有一个stdout,这个给了我们泄露libc的机会 ...

  7. 2021祥云杯部分wp

    祥云杯2021 目前只做了两道题(没办法 tcl... MISC-鸣雏恋 下载下来是个word,打开只有一句话 不太对劲,放到010里看一看发现文件头50 4B 03 04 经典压缩包了,文件后缀改成 ...

  8. 2021祥云杯部分pwn

    note 格式化字符串 本题考查了scanf的格式化字符串利用.一般我们用的都是printf的格式化字符串.这里是scanf 踩坑 一开始没有注意到sendline会多发一个换行符,导致往栈上$7的s ...

  9. 2021祥云杯 CTF pwn解 wp

    前言:题都不难,我好气,这次被大佬带飞,队里的pwn手都是神级别的,这里出了三道题,如果我不是sha,我应该能出五道,可是我好菜,这里贴出一下 note: 思路:自己构建格式化字符串漏洞,自己打,先打 ...

最新文章

  1. java 多线程 事件_java 多线程-线程不安全案例
  2. 机器学习经典分类算法 —— C4.5算法(附python实现代码)
  3. 可以直接考信息系统项目管理师吗
  4. Angular 下拉菜单实现的一个例子
  5. php7 有ext skel吗,PHP扩展开发系列02 - 老司机起步之函数
  6. 官网下载的mysql密码忘了怎么办_MySQL密码忘了怎么办?MySQL重置root密码方法
  7. 成就架构师,到底是怎样的一种体验?
  8. Leetcode每日一题:1002.find-common-characters(查找常用字符串)
  9. c语言条件语序心得,C语言之精华总结.doc
  10. python能运行vb_vb编程 vb还是python强大
  11. matlab2016a下载包及安装教程
  12. PADS Layout 滴泪、敷铜和删除
  13. 共轭梯度法的简单直观理解
  14. 电商产品设计:购物车管理
  15. 直面程序人生,始于当下,奔赴未来!
  16. vmware 桌面 服务器版,vmware云桌面软件服务器(vmware云桌面搭建教程)
  17. Bitwise Operation
  18. 时间轮(TimingWheel)
  19. 短诗整理1——奋进+惜时
  20. 用python绘制熊猫图案_在python中绘制大熊猫系列的CDF

热门文章

  1. [AH2017/HNOI2017]礼物(FFT)
  2. iOS开发之APP内部切换语言
  3. SQL基础使用入门(二): DML语句和DCL语句
  4. 实现一个div在浏览器水平居中
  5. python 安装 pip,setuptools
  6. ADB Server 错误的解决办法
  7. new 开始转向PHP
  8. 环球易购选品:既然选品绕不过,那就让我们好好研究
  9. 【目录】Python 入门基础篇 <(^-^)>
  10. 【学习笔记】含委托加工(转包)的标准成本估算