CTF(CaptureTheFlag)图片隐写基础

信息安全不简单鸭 2024-08-13 21:12:34

最近在亚马逊EC2云主机上搭建了CTF网站(http://35.86.165.89),域名是ctf.hackbiji.top,暂时没有弄https,这需要配置nginx,后面会教大家怎么配置成https站的,记得收藏哦,现在已经部署了一些题目,陆陆续续将包含《CTF安全竞赛入门》书中所有的题目,欢迎大家一起来玩耍。

ailx10

网络安全优秀回答者

网络安全硕士

去咨询

1、06 lsb2 隐写ascii码

java -jar stegsolve.jar

勾选Red 0,Green 0,Blue 0,点击Preview,观察是ZIP格式,点击Save Bin,得到ZIP包

对得到的ZIP包直接提取,但是执行会报错

观察发现ZIP包有损伤

使用winRAR进行修复

发现文件还是无法执行,直接strings查看,直接拿到flag,吃惊

2、07 lsb3 终极双图

binwalk new.jpg

显示是2张图片合成的

foremost final.png

得到2张图片,看上去几乎是一样的

先安装一下 imagemagick,这样才能使用compare进行图片比对

sudo apt install imagemagickcompare 00000000.png 00003754.png diff.png

观察发现左下角颜色深一点,典型的LSB替换,在LSB算法中,每个像素的最低有效位(LSB)用来隐藏秘密数据

from PIL import Imageimport randomimg1 = Image.open("00000000.png")im1 = img1.load() img2 = Image.open("00003754.png")im2 = img2.load()a = 0i = 0s = ''for x in range(img1.size[0]): for y in range(img1.size[1]): if(im1[x,y] != im2[x,y]): print(im1[x,y],im2[x,y]) if i == 8: s = s + chr(a) a = 0 i = 0 a = im2[x,y][0] + a * 2 # 8bit的2进制对应的10进制整数 i= i + 1s = s + '}'print(s)

73=01001001

运行提取脚本,直接拿到flag

3、08 Jsteg隐写

java -jar jstego-0.3.jar

使用工具,直接拿到flag.txt文件

4、09 JPhide隐写

使用对应的工具进行提取,这个密码是123456,得到输出文件,里面包含flag

5、10 outguess隐写

kali 直接下载工具,直接使用工具提取flag文件

sudo apt install outguessoutguess -r angrybird.jpg 1.txt

0 阅读:0