[MRCTF2020]Hello_ misc

解压得一个png图片和一个flag.rar

图片拖入010editor

选择带zip头的这段蓝色全部复制,file-new-new Hex File,黏贴到新文件,另存为为1.zip

要密码,线索中断(当然try to restore it.png,隐藏了zip压缩包,可以用binwalk 、foremost分离。)

再去看图片是否隐写

方法一使用StegSolve查看隐写

Release StegSolve 1.4 · Giotino/stegsolve · GitHub

上面是stegslove 1.4版本下载地址,支持图片拖放

方法二使用Zsteg查看隐写

使用zsteg it.png命令看到有zip和lsb隐写

分别使用

zsteg -e "extradata:0" > 2.zip

zsteg it.png -E "b1,r,lsb,xy" > at.png

提取zip和png

图片转文字 - 图片转Excel表格 - PDF转Word - 白描网页版

!@#$%67*()-+

用这个密码解压flag.rar提示密码错误

去解压之前用010edittor从图片手工提取的zip分卷压缩文件成功,得到一个out.txt

这是啥,使用TTl解密,哪下面的博客用过的脚本解密

[SWPU2019]Network-CSDN博客

import binascii

binary_dict = {

'63': '00',

'127': '01',

'191': '10',

'255': '11'

}

with open('out.txt', 'r') as f:

binary_str = ''.join(binary_dict.get(num.rstrip(), '') for num in f)

number = ''.join(chr(int(binary_str[i:i+8], 2)) for i in range(0, len(binary_str), 8))

print("Binary String:", binary_str)

print("Decoded Number:", number)

下面是要输出的文件的,没有用注释掉

#data = binascii.unhexlify(number)

#with open('pass1.txt', 'wb') as f2:

f2.write(data)

拿0ac1fe6b77be5dbe作为密码去解压flag.zip

解压发现是word,改为docx后缀,打开

改色看到内容

import base64

要解码的字符串

encoded_str = '''MTEwMTEwMTExMTExMTEwMDExMTEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMTEwMDAwMDAxMTExMTExMTExMDAxMTAx

MTEwMTEwMTEwMDAxMTAxMDExMTEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMTExMTExMTExMTExMTEwMTEwMDEx

MTEwMDAwMTAxMTEwMTExMDExMTEwMTExMTExMTAwMDExMTExMTExMTExMDAxMDAxMTAxMTEwMDAwMDExMTExMDAwMDExMTExMTEx

MTEwMTEwMTAwMDAxMTExMDExMTEwMTExMTExMDExMTAxMTExMTExMTEwMTEwMTEwMTAxMTExMTExMTAwMTEwMTExMTExMTExMTEx

MTEwMTEwMTAxMTExMTExMDExMTEwMTExMTAxMDExMTAxMTExMTExMTEwMTEwMTEwMTAxMTAxMTExMTAwMTEwMTExMTExMTExMTEx

MTEwMTEwMTAwMDAxMTAwMDAwMTEwMDAwMDAxMTAwMDExMTAwMDAwMTEwMTEwMTEwMTAxMTEwMDAwMDAxMTExMDAwMDExMTExMTEx'''

按行分割字符串

lines = encoded_str.split('\n')

逐行解码并打印

for line in lines:

decoded_str = base64.b64decode(line).decode()

decoded_str = decoded_str.replace('1', ' ')

print(decoded_str)

或者把word里那几行base64拷贝出另存为3.txt,使用下面脚本

mport base64

with open('3.txt', 'r', encoding='utf-8') as file:

for line in file:

line = line.encode('utf-8').decode('unicode_escape')

line = base64.b64decode(line).decode('utf-8')

#print(line)

decoded_line = line.replace('1',' ').replace('0','o')

print( decoded_line)

He1Lo_mi5c~

flag{He1Lo_mi5c~}

相关推荐
浩浩测试一下2 小时前
Windows 与 Linux 内核安全及 Metasploit/LinEnum 在渗透测试中的综合应用
linux·运维·windows·web安全·网络安全·系统安全·安全架构
周某人姓周7 小时前
搭建渗透测试环境
网络安全·网络攻击模型
码农12138号13 小时前
BUUCTF在线评测-练习场-WebCTF习题[GYCTF2020]Blacklist1-flag获取、解析
web安全·网络安全·ctf·sql注入·handler·buuctf
The_Killer.13 小时前
格密码--数学基础--02基变换、幺模矩阵与 Hermite 标准形
线性代数·矩阵·密码学
爱思德学术15 小时前
CCF发布《计算领域高质量科技期刊分级目录(2025年版)》
大数据·网络安全·自动化·软件工程
SCIS58815 小时前
深入理解区块链 | 去中心化架构与密码学保障
区块链·密码学·数据安全
小红卒1 天前
upload-labs靶场通关详解:第21关 数组绕过
web安全·网络安全·文件上传漏洞
kp000001 天前
GitHub信息收集
web安全·网络安全·信息收集
LuDvei1 天前
CH9121T电路及配置详解
服务器·嵌入式硬件·物联网·网络协议·tcp/ip·网络安全·信号处理
山川绿水2 天前
Ubuntu22.04更新Openssh至9.9p2无法正常连接,报错解决
服务器·web安全·网络安全