【write up】2021春秋杯-BabySteg
题目介绍
题目名称 | Baby_steg |
---|---|
类型 | Misc |
题目分析
题目提供了一个7z的加密压缩包password.7z
、一个txt文件flag1.txt
。
flag1.txt
内容:
password.7z
内容:
通过flag1.txt
内容中flag.7z
盲猜是个7z压缩文件。
解题过程
修改后缀
将flag1.txt
后缀改为7z
,打开之后发现…(盲猜正确)
那么这题至此就可以放弃了。
尝试把它丢进windows虚拟机,使用WinRAR成功打开。(这锅Mac OS背)发现存在一个加密压缩包flag.7z
。flag.7z
内存在一张png格式图片challenge.png
和一个python脚本文件encode.py
。
猜测password.7z
里的password.txt
文件存在解压flag.7z
的密码。
7z压缩包密码破解
计算Hash值
使用John的脚本7z2john.pl计算出password.7z
的hash值。
password.7z
的hash值:
$7z$2$19$0$$16$abc477f84f711f5530432e64418c8392$3167568243$16$12$40a31f0f88ac7b9a9acdc6cbb7d23f23$8$00
Hashcat密码爆破
使用hashcat进行密码爆破(Mac OS的终端会对$进行转义,因此hash值处需加上\
):
Hashcat停止运行,破解成功。打开pass.txt
得到压缩包password.7z
的解压密码321456
。
解压password.7z
,打开password.txt
,得到flag.7z
的解压密码7324623c
。然而现实…
那么这题至此又可以放弃了。
发现password.7z
在MacOS上解压不出来显示密码错误,只能尝试丢到虚拟机里解压,成功解压。
解压flag.7z
,得到图片challenge.png
和加密脚本encode.py
。
图片恢复
encode.py
:
import numpy as np
import cv2
import sys
import randomdef encode(image):i = random.randint(520,540)np.random.seed(i)# image = 1298 * 695to_hide = cv2.imread(image)to_hide_array = np.asarray(to_hide)for i in range(to_hide_array.shape[0]):np.random.shuffle(to_hide_array[i]) gray = cv2.cvtColor(to_hide_array, cv2.COLOR_BGR2GRAY)cv2.imwrite('challenge.png', gray)print("encode!")def main():if len(sys.argv) != 2:print('error!')exit(1)encode(sys.argv[1])if __name__ == '__main__':main()
脚本分析
#选取520-540的一个随机数,并确定为随机种子。
i = random.randint(520,540)np.random.seed(i)
#导入图片,将图片像素转换为三维矩阵。
to_hide = cv2.imread(image)
to_hide_array = np.asarray(to_hide)
#利用shuffle函数随机扰乱每一行各列的相对顺序,实际上是伪随机。
for i in range(to_hide_array.shape[0]):np.random.shuffle(to_hide_array[i])
#将扰乱后的矩阵进行灰度图转换并恢复图片
gray = cv2.cvtColor(to_hide_array, cv2.COLOR_BGR2GRAY)
cv2.imwrite('challenge.png', gray)
解密脚本编写
decode.py
:
import numpy as np
import cv2
import sys
import randomdef decode(seed,image):np.random.seed(seed)to_hide = cv2.imread(image)to_hide_array = np.asarray(to_hide)temp = [list(range(to_hide_array.shape[1]))]*to_hide_array.shape[0]temp = np.asarray(temp)for i in range(to_hide_array.shape[0]):np.random.shuffle(temp[i])re = [[[0,0,0]]*to_hide_array.shape[1]]*to_hide_array.shape[0]re = np.asarray(re)for i in range(to_hide_array.shape[0]):for j in range(to_hide_array.shape[1]):re[i][temp[i][j]]=to_hide_array[i][j]cv2.imwrite('decode-'+str(seed)+'.png', re)for i in range(520,541):decode(i,'challenge.png')print("decode!")
Get Flag
运行decode.py
,查看生成的图片,获得flag~
【write up】2021春秋杯-BabySteg相关推荐
- 2021年“春秋杯”新年欢乐赛--十二宫的挑衅
前言 没怎么打,随便玩了一下.发现有一道十二宫杀手密码比较有趣.总结一下 题目说明 标题:十二宫的挑衅 题目文件:Twelve_palaces_of_serial_killers.png(翻译:十二宫 ...
- 2021天翼杯 密码官方wp
2021天翼杯 crypto TryHash 审计题目代码,题目给出了一个feistel结构的加密算法,密钥长度为8字节.用随机生成的密钥对flag进行了加密.攻击者可以提供一段明文让服务器用同样的密 ...
- 【2021杭电多校赛】2021“MINIEYE杯”中国大学生算法设计超级联赛(3)签到题3题
2021"MINIEYE杯"中国大学生算法设计超级联赛(3) Start Time : 2021-07-27 12:00:00 End Time : 2021-07-27 17:0 ...
- 【2021杭电多校赛】2021“MINIEYE杯”中国大学生算法设计超级联赛(1)签到题15869
2021"MINIEYE杯"中国大学生算法设计超级联赛(1) Start Time : 2021-07-20 12:10:00 End Time : 2021-07-20 17:1 ...
- “东华春秋杯”上海大学生网络安全技能大赛决赛收官 聚焦高校人才培养
11月21日, 由上海市教育委员会.上海计算机开放系统协会指导,东华大学主办,北京永信至诚科技有限公司协办,阅文集团.上海盛大网络发展有限公司.上海勋立信息科技有限公司.上海犇众信息技术有限公司支持的 ...
- 2021 长安杯 Re
2021 长安杯 Re 忙了半天,就肝了两个Re,其中一个还是比赛结束后才出的,菜的令人发指,呜呜呜!!! 1.Fantasy apk逆向,查了一下,没有加固,直接在 jadx-gui 当中打开,可以 ...
- 2021美亚杯(个人赛)练习记录
因为当时没有参加比赛,用的奇哥给的镜像和参考答案,然后自己重新做了一遍,记录一下自己的思路(我自封大娘级记录,保姆级懂吧). 指路奇哥(奇哥带好人 (๑•̀ㅂ•́)و✧):2021第七届美亚杯中国电子 ...
- [2021绿城杯] [Misc] 流量分析 + cobaltstrike 流量解密
[2021绿城杯] [Misc] 流量分析 + cobaltstrike 流量解密 2021年"绿城杯"网络安全大赛-Misc-流量分析 [2021绿城杯] [Misc] 流量分析 ...
- 2022春秋杯联赛 传说殿堂赛道 sql_debug题目解析
2022春秋杯联赛 传说殿堂赛道 sql_debug题目解析 前言 sql_debug sql_debug 题⽬介绍 dsn_from_uri 触发phar反序列化 Linux下PHP内核调试⼩知识 ...
最新文章
- centos查看cached内部文件
- vue 表单验证按钮事件交由父组件触发
- 人脸识别有什么漏洞,活体检测又是怎么防伪?
- NYOJ 663 弟弟的作业
- iis10.0 php多版本,IIS7 IIS8 中多个版本php共存的方法
- web前端基础之JS
- 矩阵广义逆求解(QR、svd、LU)
- 让IIS只监听一个IP上的80端口
- 怎么调用html调色板,JS实现仿PS的调色板效果完整实例
- pytdx 获取板块指数_通达信板块代码,怎么查看各行业板块指数?
- python好用的内置库_python内置的高效好用各种库
- html仿excel冻结 css,如果做类似Excel 冻结首列的效果_html/css_WEB-ITnose
- QT 即时聊天软件(一)
- Html-照片的逐步出现 、心形动画制作、3d立方体魔方、鼠标划过box阴影练习
- 如何在matlab中表达点集,matlab练习程序(点集配准的SVD法)
- 名帖108 鲜于枢 行楷《麻徵君透光古镜歌》
- 关于react hook视频讲解笔记
- 人机界面和组态软件有什么区别?
- QPainter::drawPixmapFragments - the source rect is not contained by the pixmap‘s rectangle
- 盘点世上最牛的5篇博士论文,跪拜!
热门文章
- miix4linux双系统,miix4怎么装系统
- MPLS隧道——跨域解决方案A、B讲解
- html css星级评分,纯css实现星级评分效果
- 计算机显示无法打开打印机,添加打印机时电脑弹出错误窗口“Windows无法打开添加打印机”(适用 Windows OS)...
- 仅用Python三行代码,实现数据库和excel之间的导入导出
- 动态加载烘培贴图与Terrain转mesh
- 论文中文翻译——Automated Vulnerability Detection in Source Code Using Deep Representation Learning
- 我是用的是NetBeans8.0急需一个jsp上传图片到网站并保存路径到数据库的实例。求大神解答,给点赞!
- 树的概念:层次、高度、深度、宽度
- css怪异盒子模型,CSS3弹性盒---怪异盒