【write up】2021春秋杯-BabySteg

简介: 【wp】2021春秋杯-BabySteg。1.利用Hashcat进行7z压缩包密码破解。2.图片恢复。

题目介绍


题目名称 Baby_steg
类型 Misc



题目分析


题目提供了一个7z的加密压缩包password.7z 、一个txt文件flag1.txt

all.png


flag1.txt内容:

flag1.txt.png


password.7z内容:

password.7z.png


通过flag1.txt内容中flag.7z 盲猜是个7z压缩文件。



解题过程


修改后缀


flag1.txt后缀改为7z,打开之后发现......(盲猜正确)

error.png



那么这题至此就可以放弃了。



尝试把它丢进windows虚拟机,使用WinRAR成功打开。(这锅Mac OS背)发现存在一个加密压缩包flag.7zflag.7z内存在一张png格式图片challenge.png和一个python脚本文件encode.py

flag1.7z.png

flag.7z.png


猜测password.7z里的password.txt文件存在解压flag.7z的密码。



7z压缩包密码破解


计算Hash值

使用John的脚本7z2john.pl计算出password.7z的hash值。

John.png



password.7z的hash值:

$7z$2$19$0$$16$abc477f84f711f5530432e64418c8392$3167568243$16$12$40a31f0f88ac7b9a9acdc6cbb7d23f23$8$00


Hashcat密码爆破

使用hashcat进行密码爆破(Mac OS的终端会对$进行转义,因此hash值处需加上\):

Hashcat-1.png



Hashcat停止运行,破解成功。打开pass.txt得到压缩包password.7z的解压密码321456

hashcat-2.png




解压password.7z,打开password.txt,得到flag.7z的解压密码7324623c。然而现实......

error2.png



那么这题至此又可以放弃了。



发现password.7z在MacOS上解压不出来显示密码错误,只能尝试丢到虚拟机里解压,成功解压。<!--不是很明白为什么MacOS无法解压-->

password.txt.png



解压flag.7z,得到图片challenge.png和加密脚本encode.py



图片恢复



encode.py

importnumpyasnp

importcv2

importsys

importrandom

defencode(image):

   i = random.randint(520,540)

   np.random.seed(i)

   # image = 1298 * 695

   to_hide = cv2.imread(image)

   to_hide_array = np.asarray(to_hide)

   foriinrange(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!")

defmain():

   iflen(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函数随机扰乱每一行各列的相对顺序,实际上是伪随机。

foriinrange(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

importnumpyasnp

importcv2

importsys

importrandom

defdecode(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)

   

   foriinrange(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)

   

   foriinrange(to_hide_array.shape[0]):

       forjinrange(to_hide_array.shape[1]):

           re[i][temp[i][j]]=to_hide_array[i][j]

   

   cv2.imwrite('decode-'+str(seed)+'.png', re)

foriinrange(520,541):

   decode(i,'challenge.png')

   print("decode!")


Get Flag

运行decode.py,查看生成的图片,获得flag~


decode.png

flag.png

目录
相关文章
|
定位技术 数据中心
全球历史台风轨迹数据的艰难寻找经历
全球历史台风轨迹数据的艰难寻找经历
2592 0
|
机器学习/深度学习 传感器 Web App开发
《探索具身智能机器人视觉-运动映射模型的创新训练路径》
视觉-运动映射模型是实现机器人智能交互与精准行动的核心,如同机器人的“神经中枢”。传统训练方法存在局限,而新兴技术如微软的IGOR框架、UC伯克利的VideoMimic系统和OKAMI方法,通过迁移学习、视频模仿及动作捕捉等手段,让机器人能高效学习人类动作并完成复杂任务。这些创新方法利用大规模数据与先进技术,拓展了机器人在复杂环境中的能力边界,推动其从“机械执行”向“自主决策”进化,为具身智能发展注入新活力。
597 28
|
10月前
|
安全 测试技术 API
Python 单元测试详解
单元测试是Python开发中不可或缺的环节,能确保代码按预期运行、发现Bug、提升代码质量并支持安全重构。本文从基础概念讲起,逐步介绍Python单元测试的实践方法,涵盖unittest框架、pytest框架、断言使用、Mock技巧及测试覆盖率分析,助你全面掌握单元测试技能。
546 0
|
人工智能 vr&ar 图形学
谷歌DeepMind联手牛津推出Bolt3D:AI秒速3D建模革命!单GPU仅需6秒生成3D场景
牛津大学与谷歌联合推出的Bolt3D技术,能在单个GPU上仅用6.25秒从单张或多张图像生成高质量3D场景,基于高斯溅射和几何多视角扩散模型,为游戏、VR/AR等领域带来革命性突破。
719 2
谷歌DeepMind联手牛津推出Bolt3D:AI秒速3D建模革命!单GPU仅需6秒生成3D场景
|
网络协议 Java 应用服务中间件
深入浅出Tomcat网络通信的高并发处理机制
【10月更文挑战第3天】本文详细解析了Tomcat在处理高并发网络请求时的机制,重点关注了其三种不同的IO模型:NioEndPoint、Nio2EndPoint 和 AprEndPoint。NioEndPoint 采用多路复用模型,通过 Acceptor 接收连接、Poller 监听事件及 Executor 处理请求;Nio2EndPoint 则使用 AIO 异步模型,通过回调函数处理连接和数据就绪事件;AprEndPoint 通过 JNI 调用本地库实现高性能,但已在 Tomcat 10 中弃用
深入浅出Tomcat网络通信的高并发处理机制
|
人工智能 运维 监控
可观测实践,如何利用 AI 算法解决告警配置三大难题
本文介绍了如何利用 AI 算法解决“不知道该监控哪些指标”、“不知道该设置什么阈值”、“指标正常情况下就起伏不定,怎么配告警”告警配置三大难题。
142748 108
|
算法 安全 Shell
2024i春秋第四届长城杯网络安全大赛暨京津冀网络安全技能竞赛初赛wp-flowershop+easyre
2024i春秋第四届长城杯网络安全大赛暨京津冀网络安全技能竞赛初赛wp-flowershop+easyre
582 1
|
人工智能 搜索推荐 安全
我用AI写了个儿童绘本,在Amazon上架了
随着ChatGPT的讨论度愈来愈高,一些爱好者也从中做了许多新的尝试,例如从中构建小的产品闭环,又或者提升自己的工作效率。我自己和两位小伙伴也实操了一个绘本案例,分享给大家,希望大家能从实践中对AIGC有更深的感触和了解~
|
域名解析 缓存 安全
WEB常见漏洞之SSRF(靶场篇)
WEB常见漏洞之SSRF(靶场篇)
2514 0
|
存储 监控 Linux
Linux使用VMware保存快照
Linux使用VMware保存快照
590 0