一天,某单位收到一个奇怪的文件,文件中的内容让人觉得存在安全隐患,于是你迅速联系我,邀请我一同对文件进行分析
提交的flag格式:wdflag{xxxxx}
不管他是什么,先拖入[随波逐流]CTF编码工具
有包含
[随波逐流]CTF编码工具---文件---binwalk提取
2.png
拖入[随波逐流]CTF编码工具
[随波逐流]CTF编码工具---图片---左右反转
得到一半flag
再2个个压缩包里面都是2.png,只有文件夹中压缩包是11.png
要密码,前面有个提示
comment: "!@#QQQ0010flag****"
明显是要爆破
自己写一个字典
passlist=[]
for i in range(1000,10000):
passlist.append('!@#QQQ0010flag'+str(i))
with open(r'f:temppassword.txt','w') as f:
for pas in passlist:
f.write(pas+'n')
11.zip 拖入[随波逐流]CTF编码工具密文区
password.txt 拖入[随波逐流]CTF编码工具密钥区
[随波逐流]CTF编码工具---文件---zip密码字典爆破
密码:!@#QQQ0010flag8456
拖入[随波逐流]CTF编码工具
又有包含
[随波逐流]CTF编码工具---文件---foremost提取
很明显修改了宽高
居然没有能自动修改宽高,那只可能是CRC也被修改了
计算实际的宽高
import struct
import zlib
import os
def calculate_crc(data, crc=None):
if crc is None:
crc = 0xffffffff
return zlib.crc32(data) & 0xffffffff
def brute_force_width_height(file_path, known_crc):
with open(file_path, 'rb') as f:
# 检查 PNG 文件头
signature = f.read(8)
if signature != b'x89PNGrnx1an':
print("这不是一个有效的 PNG 文件")
return None, None
# 读取 IHDR 块
chunk_length = struct.unpack('>I', f.read(4))[0]
if chunk_length != 13 or f.read(4) != b'IHDR':
print("IHDR 块不正确")
return None, None
# 读取宽度和高度
width, height = struct.unpack('>2I', f.read(8))
# 尝试不同的宽度和高度值,计算 CRC
for w in range(1, width + 1):
for h in range(1, height + 1):
# 构建 IHDR 块数据
ihdr_data = struct.pack('>2I5B', w, h, 8, 6, 0, 0, 0)
# 计算 CRC
crc = calculate_crc(b'IHDR' + ihdr_data)
if crc == known_crc:
print("找到匹配的宽高: 宽度 = %d, 高度 = %d" % (w, h))
return w, h
return None, None
# 使用示例
file_path = r'f:/temp/15.png' # 替换为你的 PNG 文件路径
known_crc = 0xd370e9a1 # 替换为你已知的 CRC 值
width, height = brute_force_width_height(file_path, known_crc)
if width and height:
print("实际宽度: %d, 实际高度: %d" % (width, height))
实际宽度: 620, 实际高度: 92
[随波逐流]CTF编码工具---文件---2进制转16进制
将0320 012C改成026C 005C
右键:导出为hex文件00000254-2.png
wdflag{5fgh576eee739dh7u904bea4860s4eg5}
公众号内回复 writeup 或 flag 下载公众号文章
分享一个免费的智能编程助手,用AI助力编码
https://www.marscode.cn/events/s/iSJa9t3J/
http://www.1o1o.xyz/bo_softdown.html
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...