WriteUp

1.题目

https://adworld.xctf.org.cn/task/answer?type=misc&number=1&grade=0&id=5107

2.解题步骤

首先打开文件发现有密码,看了没其他提示之后猜测可能是伪加密。winhex打开文件,搜索16进制504B会有3个结果,定位到第二个之后将09 00修改为00 00 然后保存。


解压得到一个内容全是base64编码的文件,发现是base64文件隐写,python2环境下直接利用脚本即可解出flag.

# base64文件隐写脚本
#!/user/bin/env python
# -*-coding:utf-8 -*-
def get_base64_diff_value(s1, s2):base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'res = 0for i in xrange(len(s1)):if s1[i] != s2[i]:return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))return resdef solve_stego():with open('E://stego.txt', 'rb') as f:file_lines = f.readlines()bin_str = ''for line in file_lines:steg_line = line.replace('\n', '')norm_line = line.replace('\n', '').decode('base64').encode('base64').replace('\n', '')diff = get_base64_diff_value(steg_line, norm_line)pads_num = steg_line.count('=')if diff:bin_str += bin(diff)[2:].zfill(pads_num * 2)else:bin_str += '0' * pads_num * 2res_str = ''for i in xrange(0, len(bin_str), 8):res_str += chr(int(bin_str[i:i+8], 2))print res_strsolve_stego()

3.flag值

flag{Base_sixty_four_point_five}

4.涉及的知识点

zip伪加密

  • 原理:在文件头的加密标志位做修改,进而再打开文件时识被别为加密压缩包。

  • zip = 压缩源文件数据区 + 压缩源文件目录区 + 压缩源文件目录结束标志

    https://blog.csdn.net/wclxyn/article/details/7288994


有三个头标志:压缩源文件数据区 50 4B 03 04

​ 压缩源文件目录区 50 4B 01 02

​ 压缩源文件目录结束标记 50 4B 05 06

  • 真假加密

    • 无加密

      压缩源文件数据区的全局加密应为00 00

      且压缩源文件目录区的全局方式标记应当为00 00

    • 假加密

      压缩源文件数据区的全局加密应为00 00

      且压缩源文件目录区的全局方式标记应当为09 00

    • 真加密

      压缩源文件数据区的全局加密应为09 00

      且压缩源文件目录区的全局方式标记应当为09 00

base64隐写

  • https://www.tr0y.wang/2017/06/14/Base64steg/
  • base64解码:把base64字符串去掉等号,转为二进制,然后从左到右8个一组,多余位扔掉,转为对应得ASCII码。(而多余位即等号数*2反正是要被扔掉的,所以修改它也不会影响原来的字符)
    e64steg/
  • base64解码:把base64字符串去掉等号,转为二进制,然后从左到右8个一组,多余位扔掉,转为对应得ASCII码。(而多余位即等号数*2反正是要被扔掉的,所以修改它也不会影响原来的字符)
  • 一行 base64 顶多能有 2 个等号, 也就是有 2*2 位的可隐写位. 所以得弄很多行, 才能隐藏一个字符串

base64stego相关推荐

  1. 攻防世界MISC练习区(SimpleRAR、base64stego、功夫再高也怕菜刀)

    目录 SimpleRAR 题目介绍 解题思路 打开附件 winhex打开RAR文件 png部分块的7A改为74 解压文件 winhex打开图片 发现是gif格式,将其重命名并用PhotoShop打开, ...

  2. 攻防世界(杂项篇MISC)---base64stego

    攻防世界-base64stego 文章目录 攻防世界---base64stego 题目 用的的知识 base64 base64编码实现 base64解码实现 总结 伪加密 无加密 真加密 base64 ...

  3. 攻防世界 base64stego

    title: 攻防世界 base64stego date: 2021年8月16日 15点22分 tags: 攻防世界 categories: 攻防世界 这道题也是很狡猾啊,没接触过的话,任凭怎么想,可 ...

  4. 【MISC】base64stego

    题目链接 base64stego zip伪加密 使用ZipCenOp.jar打开 java -jar ZipCenOp.jar r filename.zip 注意将要解压的压缩包放到jar包所在的文件 ...

  5. base64隐写(攻防世界杂项base64stego)

    base64原理 先简单介绍一下base64解密: (图片来源见水印,侵删) base64使用 a-zA-Z0-9+/ 等64个字符来替换掉所有字符,同时使用 = 来替换掉空格,既然一共有64个字符, ...

  6. base64stego的writeup

        大家好,这次我为大家带来攻防世界misc部分base64stego的writeup.     先下载附件,是一个压缩包,用WinRAR查看一下,发现压缩包被加密了.     由于这道题没有任何 ...

  7. XCTF-MISC-新手区-base64stego

    题目 解题思路 1.下载附件 2.查看附件内容 3.直接解压,发现解压失败,存在zip伪加密,那么如何过去stego.txt内容呢 (1)方法一: 使用010Editor搜索50 4B 01 02 , ...

  8. Misc 第七篇——base64stego(伪加密,base64隐写)

    题目描述:菜狗经过几天的学习,终于发现了如来十三掌最后一步的精髓 附件给了一个压缩包,伪加密,使用360解压缩成功解压. 解压后是一个文本文件,如下图,使用base64加密的一堆字符串, 单纯使用ba ...

  9. XCTF MISC 新手base64stego解题思路

    0x00 题目链接 here 0x01 zip伪加密 使用ZipCenOp.jar java -jar ZipCenOp.jar r flag.zip#把flag.zip放到该目录下 解压得到steg ...

  10. 【功防世界】base64stego

    1.首先zip伪加密破解密码: 2.打开文件看到很多行base64, U3RlZ2Fub2dyYXBoeSBpcyB0aGUgYXJ0IGFuZCBzY2llbmNlIG9m IHdyaXRpbmcg ...

最新文章

  1. pytorch 区间loss 损失函数
  2. el-table列宽自适应;el-table表格的列根据内容自动撑满;el-table内容换行问题;
  3. Swift 3.0 (二)
  4. 使用Python快速获取公众号文章定制电子书(一)
  5. P2P穿透四种NAT类型
  6. python编程(multiprocessing库)
  7. linux基础(一)——切换到root用户和普通用户
  8. index.jsp中文乱码问题
  9. 图像处理一之-摄像头二值化处理-(什么是二值化)
  10. ESB(企业服务总线)知识
  11. php连接外卖打印机,javaScript 连接打印机,打印小票实例分享
  12. python win32gui模块详解_Python笔记_第二篇_基本功_4.常用模块的简单使用_窗体控制模块(win32con、win32gui)...
  13. 使用Openxal框架开发加速器模型相关的java应用程序
  14. Kettle本机编译
  15. 电商运营基本常识你都知道哪些?
  16. Ormlite的工具使用
  17. Linux 中把Python3设为默认Python版本的几种方法
  18. Java实例项目之英尺转换
  19. BlogBus发难:博客为什么不能随便搬家?
  20. 各种数据接口欺骗器学习

热门文章

  1. 通过kettle工具的作业发送邮件
  2. 会声会影制作定格动画教程
  3. 2019中国第三方支付行业亟需改变 费率战已到尽头
  4. java使用高德地图根据IP地址获取城市
  5. ABAP MESSAGE消息类的创建以及调用方法。
  6. 03-多个圆环以及圆环的变速变向
  7. wavecom短信猫推荐RS232串口短信猫适于二次开发应用
  8. 度量学习DML之Lifted Structure Loss
  9. 按键精灵微信群内加好友
  10. 1.1.2_标准化工作及相关组织