这是攻防世界新手练习区的第十一题,题目如下:

点击下载附件一,发现是一个压缩包,点击解压,发现是需要密码才能解密

先用010editor打开这个压缩包,这里需要知道zip压缩包的组成部分,包括压缩源文件数据区、压缩源文件目录区、压缩源文件目录结束区,具体组成如下:



压缩包是否为伪加密的判断

1、无加密:
(1)压缩源文件数据区的全局加密标志应当为00 00
(2)且压缩源文件目录区的全局方式位标记应当为00 00

2、伪加密:
(1)压缩源文件数据区的全局加密标志应当为00 00
(2)且压缩源文件目录区的全局方式位标记应当为09 00

3、真加密
(1)压缩源文件数据区的全局加密标志应当为09 00
(2)且压缩源文件目录区的全局方式位标记应当为09 00

现在看一下这道题,该压缩包的压缩源文件的数据区如下

50 4B 03 04:文件头标记(0x04034B50)
14 03:解压文件所需 pkware 版本
00 00:全局方式位标记(判断真伪加密的重要标志)
08 00:压缩方式
68 BF:最后修改文件时间
9B 48:最后修改文件日期
FE 32 7D 4B:CRC-32校验
E9 0D 00 00:压缩后尺寸
B5 1B 00 00:未压缩尺寸
09 00:文件名长度
00 00:扩展记录长度

该压缩包的压缩源文件的目录区如下:

50 4B 01 02:目录中文件文件头标记(0x02014B50)
3F 03:压缩使用的 pkware 版本
14 03:解压文件所需 pkware 版本
09 00:全局方式位标记(数据区的加密标志为00 00,所以判断这是伪加密,将09 00 改为00 00即可)
08 00:压缩方式
68 BF:最后修改文件时间
9B 48:最后修改文件日期
FE 32 7D 4B:CRC-32校验(1480B516)
E9 0D 00 00:压缩后尺寸(25)
B5 1B 00 00:未压缩尺寸(23)
09 00:文件名长度
24 00:扩展字段长度
00 00:文件注释长度
00 00:磁盘开始号
00 00:内部文件属性
20 80 ED 81:外部文件属性
00 00 00 00:局部头部偏移量

该压缩包源文件目录结束标志如下:

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

所以,我们只要将该压缩包的压缩源文件的全局方式位标记由09 00 改为00 00即可解压该文件,
通过解压文件我们可以得到一个文本文档。打开后可以看到是一些base64字符,我们写个脚本跑一下

import base64
bin_str=''
b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
with open('stego.txt','r') as f:  # 这里要改成你的文件路径for line in f.readlines():s64="".join(line.split())r64="".join(str(base64.b64encode(base64.b64decode(s64)),'utf-8').split())offset=abs(b64chars.index(s64.replace('=','')[-1])-b64chars.index(r64.replace('=', '')[-1]))equal=line.count('=')if equal:bin_str += bin(offset)[2:].zfill(equal * 2)print(''.join([chr(int(bin_str[i:i + 8], 2)) for i in range(0,len(bin_str),8)]))

代码运行结果如下:

所以这道题的flag如下:

flag{Base_sixty_four_point_five}

以上就是我对这道题的解法。因本人菜鸡一只,如果有什么不对的地方,实属正常。还请各位大佬予以指正,谢谢!

攻防世界-MISC:base64stego相关推荐

  1. 攻防世界 MISC新手练习区 刷12道题题所得的思路和方法

    title: 攻防世界 MISC新手练习区 date: 22021年8月17日 10点31分 tags: MISC categories: MISC 1.攻防世界 this_is_flag(签到题) ...

  2. 攻防世界MISC刷题1-50

    目录 1.ext3 2.base64stego 3.功夫再高也怕菜刀 4.easycap 5.reverseMe 6.Hear-with-your-Eyes 7.What-is-this 8.norm ...

  3. misc高阶 攻防世界_攻防世界 Misc 进阶题(一)

    攻防世界 Misc 进阶题(一) 关于隐写术的思路或方法 转载: https://blog.csdn.net/a_small_rabbit/article/details/79644078     隐 ...

  4. 攻防世界MISC进阶区刷题记录

    文章目录 攻防世界MISC进阶区刷题记录 Ditf 运用stegextract进行分离 glance-50 gif图片分离组合脚本 hit-the-core Test-flag-please-igno ...

  5. 攻防世界 Misc 适合作为桌面

    攻防世界 Misc 适合作为桌面 1.binwalk看是否有隐藏文件 2.StegSolve打开 3.WinHex保存为pcy文件 4.得到flag 1.binwalk看是否有隐藏文件 2.StegS ...

  6. 攻防世界 MISC 新手练习区 writeup 001-006

    攻防世界 MISC 新手练习区 题目解答 文章目录 001 this_is_flag 002 pdf 003 如来十三掌 004 give_you_flag 005 stegano 006 坚持60s ...

  7. 攻防世界-MISC:glance-50

    这是攻防世界MISC高手进阶区的题目,题目如下: 点击下载附件一,得到一张GIF动图如下 找个网站给分离一下,将gif分离为图片,共201张,然后拼接在一起即可得到flag 所以这道题的flag如下: ...

  8. 攻防世界 Misc Miscellaneous-200

    攻防世界 Misc Miscellaneous-200 1.打开文件 2.python 3.exp 4.运行结果 1.打开文件 (255,255,255) 应该是RGB像素点 2.python Pyt ...

  9. 攻防世界MISC进阶之misc1

    攻防世界MISC进阶之misc1 第一步:分析 第二步:实操 第三步:答案 第一步:分析 难度系数: 3星 题目来源: DDCTF-2018 题目描述:d4e8e1f4a0f7e1f3a0e6e1f3 ...

最新文章

  1. eclipse java代码某一行需要修改注释_看看这些Java代码开发规范吧!你好,我好,大家好!...
  2. UGUI_UI的深度学习
  3. EOS智能合约授权限制和数据存储
  4. Android面试收集录4 Fragment详解
  5. python 文件上传下载,python实现上传下载文件功能
  6. 笨办法学 Python · 续 练习 1:流程
  7. PHp批量推送数据太慢,PHP非阻塞批量推送数据
  8. idea 代码自动补全突然失效
  9. 关于判断卡BIN的修正
  10. AutoIT如何制作自动化安装脚本-SketchUp 2017
  11. mysql创建数据库表_mysql基础之创建数据库和表
  12. wince车机可以连接电脑吗_WINCE车机平台手机互联使用说明
  13. 有功功率、无功功率、视在功率 的定义
  14. ps一键去除gif背景的jsx脚本
  15. 【Tushare转存SQL】可转债数据(待续)
  16. 有关CreateCompatibleDC(pdc)的基本讲述
  17. 笔记:源码修改开放5555端口
  18. ai自动生成字幕_使用AI对您的会议进行现场字幕
  19. 虾皮shopee根据关键词取商品列表 API
  20. 【Git学习】如何删除Git中的大文件

热门文章

  1. Manjaro清理指南
  2. AI 教书人:一半是老师,一半是学生
  3. wpa_supplicat学习笔记
  4. snowflake算法的时钟回拨问题如何解决(面试)
  5. OpenHarmony开发环境搭建
  6. 智能监控关键技术和落地重要环节
  7. Mediawiki扩展经验分享
  8. 写个css边框样式。。。
  9. Word正则表达搜索替换
  10. ChatGPT角色扮演提示语