隐写

jpg类隐写

jphide隐写

010里发现假的flag

img

5a+G56CBMTIz

img

密码123,有密码的jpg隐写,steghide,JPHS.

用stegdetect检查一下,发现是jphide隐写

img

JPHS

img

FSCTF{huang_duduanwangu}

outguss隐写

img

查看属性:公正民主公正文明公正和谐

社会主义核心价值观解密

密码为abc

采用outguess解密

outguess安装:https://blog.csdn.net/m0_58199719/article/details/123692511?spm=1001.2014.3001.5501

img

outguess使用

注意:outguess -k ‘密码’ -r 文件名 flag.txt

ACTF{gue33_Gu3Ss!2020}

F5-steganography隐写

刷新过的图片

img

010里面没有有效信息,binwalk无结果,这题涉及F5-steganography隐写

工具安装参考博客 https://blog.csdn.net/weixin_30627381/article/details/99264894

img

进入F5-steganography-master文件夹,在空白处 ctrl+shift+鼠标右键->在此处打开命令窗口

在cmd中输入命令:

java Extract 文件的绝对路径 -p 密码

注意:将图片放入F5-steganography-master目录中,会生成一个output.txt

img

开头为PK,将txt改为zip即可出现flag

flag{96efd0a2037d06f34199e921079778ee}

steghide隐写

根据题目提示原神七七在哪里

img

密码为liyue

kali里用steghide里查看

命令是steghide extract -sf 文件名 -p 密码

img

img

发现零宽字符隐写

img

这是一个错误的flag,但是可能是字母的大小不一样,编写脚本,得出所有大小写的可能性,并生成dic.txt.

import itertools

def get_character_combinations(word):
"""获取单词中每个字符的大小写组合可能性"""
character_combinations = {}

for char in word:
combinations = list(set(["".join(comb) for comb in itertools.product(*zip(char.lower(), char.upper()))]))
character_combinations[char] = combinations

return character_combinations

def generate_variants(word, character_combinations):
"""生成变形字符串"""
variants = set()

for combination in itertools.product(*[character_combinations[char] for char in word]):
variant = "".join(combination)
if variant != word:
variants.add(variant)

return variants

def save_to_file(variants, filename):
"""将变形字符串保存到文件中"""
with open(filename, 'w') as file:
for variant in variants:
file.write(f"flag{{{variant}}}\n")

# 单词 JPeG_Is_IntErEsting
word = "JPeG_Is_IntErEsting"

# 获取字符大小写组合可能性
character_combinations = get_character_combinations(word)

# 生成变形字符串
variants = generate_variants(word, character_combinations)

# 保存到文件
save_to_file(variants, "dic.txt")

print("保存成功!")

进行字典爆破

img

得到密码flag{JPeG_Is_IntErEsting}

kali里zsteg发现base,zsteg主要查看lsb,,这里的base不全,继续返回stegsolve里看msb

img

img

将HYNUCTF{This_is_a_fake_flag}删掉

img

得到HYNUCTF{RgB_or_Lsb_may_Y0u_knnoww?}