base64stego
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相关推荐
- 攻防世界MISC练习区(SimpleRAR、base64stego、功夫再高也怕菜刀)
目录 SimpleRAR 题目介绍 解题思路 打开附件 winhex打开RAR文件 png部分块的7A改为74 解压文件 winhex打开图片 发现是gif格式,将其重命名并用PhotoShop打开, ...
- 攻防世界(杂项篇MISC)---base64stego
攻防世界-base64stego 文章目录 攻防世界---base64stego 题目 用的的知识 base64 base64编码实现 base64解码实现 总结 伪加密 无加密 真加密 base64 ...
- 攻防世界 base64stego
title: 攻防世界 base64stego date: 2021年8月16日 15点22分 tags: 攻防世界 categories: 攻防世界 这道题也是很狡猾啊,没接触过的话,任凭怎么想,可 ...
- 【MISC】base64stego
题目链接 base64stego zip伪加密 使用ZipCenOp.jar打开 java -jar ZipCenOp.jar r filename.zip 注意将要解压的压缩包放到jar包所在的文件 ...
- base64隐写(攻防世界杂项base64stego)
base64原理 先简单介绍一下base64解密: (图片来源见水印,侵删) base64使用 a-zA-Z0-9+/ 等64个字符来替换掉所有字符,同时使用 = 来替换掉空格,既然一共有64个字符, ...
- base64stego的writeup
大家好,这次我为大家带来攻防世界misc部分base64stego的writeup. 先下载附件,是一个压缩包,用WinRAR查看一下,发现压缩包被加密了. 由于这道题没有任何 ...
- XCTF-MISC-新手区-base64stego
题目 解题思路 1.下载附件 2.查看附件内容 3.直接解压,发现解压失败,存在zip伪加密,那么如何过去stego.txt内容呢 (1)方法一: 使用010Editor搜索50 4B 01 02 , ...
- Misc 第七篇——base64stego(伪加密,base64隐写)
题目描述:菜狗经过几天的学习,终于发现了如来十三掌最后一步的精髓 附件给了一个压缩包,伪加密,使用360解压缩成功解压. 解压后是一个文本文件,如下图,使用base64加密的一堆字符串, 单纯使用ba ...
- XCTF MISC 新手base64stego解题思路
0x00 题目链接 here 0x01 zip伪加密 使用ZipCenOp.jar java -jar ZipCenOp.jar r flag.zip#把flag.zip放到该目录下 解压得到steg ...
- 【功防世界】base64stego
1.首先zip伪加密破解密码: 2.打开文件看到很多行base64, U3RlZ2Fub2dyYXBoeSBpcyB0aGUgYXJ0IGFuZCBzY2llbmNlIG9m IHdyaXRpbmcg ...
最新文章
- pytorch 区间loss 损失函数
- el-table列宽自适应;el-table表格的列根据内容自动撑满;el-table内容换行问题;
- Swift 3.0 (二)
- 使用Python快速获取公众号文章定制电子书(一)
- P2P穿透四种NAT类型
- python编程(multiprocessing库)
- linux基础(一)——切换到root用户和普通用户
- index.jsp中文乱码问题
- 图像处理一之-摄像头二值化处理-(什么是二值化)
- ESB(企业服务总线)知识
- php连接外卖打印机,javaScript 连接打印机,打印小票实例分享
- python win32gui模块详解_Python笔记_第二篇_基本功_4.常用模块的简单使用_窗体控制模块(win32con、win32gui)...
- 使用Openxal框架开发加速器模型相关的java应用程序
- Kettle本机编译
- 电商运营基本常识你都知道哪些?
- Ormlite的工具使用
- Linux 中把Python3设为默认Python版本的几种方法
- Java实例项目之英尺转换
- BlogBus发难:博客为什么不能随便搬家?
- 各种数据接口欺骗器学习