中职网络安全2022国赛之隐写术应用

简介

有什么不会的可以来问我:3316735898,需要题目,解题工具和脚本的也可以来找我
中职网络安全2022国赛之隐写术应用_第1张图片

1.找出文件夹1中的文件,将文件中的隐藏信息作为Flag值提交

打开文件
中职网络安全2022国赛之隐写术应用_第2张图片
将文件放入kali,查询文件内部是否有其他文件

binwalk final.png

中职网络安全2022国赛之隐写术应用_第3张图片
发现有一个地址开头为0x1D55DC的图片,我们可以手动将它分离,也可以使用工具将他分离,这里我们使用手工,打开HXD HEX
ctrl+e 设置起始地址为1D55DC
中职网络安全2022国赛之隐写术应用_第4张图片
然后ctrl+c复制1D55DC之后的十六进制值,新建一个文件,ctrl+v粘贴,然后ctrl+s保存分离出来的文件
在这里插入图片描述
打开StegSolve,将文件拖入其中
中职网络安全2022国赛之隐写术应用_第5张图片
中职网络安全2022国赛之隐写术应用_第6张图片
然后选择red 0,flag找出来了
中职网络安全2022国赛之隐写术应用_第7张图片
原理就是图片中的像数一般是由三种颜色组成,即三原色,由这三种原色可以组成其他各种颜色,例如在PNG图片的储存中,每个颜色会有8bit,LSB隐写就是修改了像数中的最低的1bit,在人眼看来是看不出来区别的,也把信息隐藏起来了

2.找出文件夹2中的文件,将文件中的隐藏信息作为Flag值提交

打开文件
中职网络安全2022国赛之隐写术应用_第8张图片
打开010editor,然后将文件拖入进去分析
中职网络安全2022国赛之隐写术应用_第9张图片
拉到最底下,发现最后的四个十六进制是png文件的开头地址,说明文件整个都是倒过来的,我们需要写一个脚本来让他倒回来
中职网络安全2022国赛之隐写术应用_第10张图片
中职网络安全2022国赛之隐写术应用_第11张图片
运行脚本,就能拿到flag
中职网络安全2022国赛之隐写术应用_第12张图片

3.找出文件夹3中的文件,将文件中的隐藏信息作为Flag值提交

打开文件
中职网络安全2022国赛之隐写术应用_第13张图片
将文件拖入kali后,输入

convert glance.gif flag.png   #一帧一帧分割图片

中职网络安全2022国赛之隐写术应用_第14张图片
然后输入:

montage flag*.png -tile x1 -geometry +0+0 flag.png     #合并图片

得到flag
中职网络安全2022国赛之隐写术应用_第15张图片

4.找出文件夹4中的文件,将文件中的隐藏信息作为Flag值提交

打开文件
中职网络安全2022国赛之隐写术应用_第16张图片
打开010editer,将文件拖入其中
中职网络安全2022国赛之隐写术应用_第17张图片
由于文件是gif文件,但没有看到gif头的信息,我们添加进去
中职网络安全2022国赛之隐写术应用_第18张图片

保存文件

中职网络安全2022国赛之隐写术应用_第19张图片

然后拆解gif

identify -format "%T \n" 文件名

中职网络安全2022国赛之隐写术应用_第20张图片

我将输出存放到1.txt里

中职网络安全2022国赛之隐写术应用_第21张图片

把这两个6删除,然后ctrl+h将10替换为1,将20替换为0

中职网络安全2022国赛之隐写术应用_第22张图片

中职网络安全2022国赛之隐写术应用_第23张图片

然后写一个脚本将二进制转换位ascii码

import re
def file():
  with open('1.txt','r') as f:
      binfile = (f.read()).replace("\n","")
      bindata = re.findall(r'.{8}',binfile)
      for i in bindata:
          ascii = int(i,2)
          print(chr(ascii))
file()

中职网络安全2022国赛之隐写术应用_第24张图片
运行脚本得到flag

5.找出文件夹5中的文件,将文件中的隐藏信息作为Flag值提交

打开文件
中职网络安全2022国赛之隐写术应用_第25张图片
分析文件,发现是一张图片,把后缀改为.jpg即可
中职网络安全2022国赛之隐写术应用_第26张图片
然后使用扫码工具获得flag

总结

简单的记录做题笔记,有什么不懂的可以来问我

你可能感兴趣的:(中职网安比赛,经验分享,安全,网络安全)