CTF题目:2014-sctf-misc400

解题思路:pngcheck 检查发现 IDAT数据块问题,binwalk对图片里面的数据进行分离解压,在这个数据包里面01字符串,01字符串的长度是625,除以8 除以7 都无法整除,也就是说没法直接转换成ascii码,猜测有可能是01转二维码。

解题参考:[SCTF 2014]misc400

这里讲如何生成二维码部分:

  1. 使用 Python
python 复制代码
from PIL import Image

# 定义图像的大小
MAX = 25

# 创建新的图像对象
pic = Image.new("RGB", (MAX, MAX))

# 定义二维码数据
qr_data = "1111111000100001101111111100000101110010110100000110111010100000000010111011011101001000000001011101101110101110110100101110110000010101011011010000011111111010101010101111111000000001011101110000000011010011000001010011101101111010101001000011100000000000101000000001001001101000100111001111011100111100001110111110001100101000110011100001010100011010001111010110000010100010110000011011101100100001110011100100001011111110100000000110101001000111101111111011100001101011011100000100001100110001111010111010001101001111100001011101011000111010011100101110100100111011011000110000010110001101000110001111111011010110111011011"

# 填充图像像素
for i, char in enumerate(qr_data):
    x = i % MAX
    y = i // MAX
    color = (0, 0, 0) if char == '1' else (255, 255, 255)
    pic.putpixel((x, y), color)

# 显示并保存图像
pic.show()
pic.save("flag.png")
  1. 使用 Excel

使用公式与条件格式,填充公式A1=MID($Z$1,(ROW()-1)*25+COLUMN(),1)通过行号和列号计算从 Z1 单元格的特定位置提取一个字符,并填充到当前单元格中。

相关推荐
DevSecOps选型指南2 小时前
2025软件供应链安全最佳实践︱证券DevSecOps下供应链与开源治理实践
网络·安全·web安全·开源·代码审计·软件供应链安全
ABB自动化2 小时前
for AC500 PLCs 3ADR025003M9903的安全说明
服务器·安全·机器人
恰薯条的屑海鸥2 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十六期-SSRF模块)
数据库·学习·安全·web安全·渗透测试·网络安全学习
int型码农2 小时前
数据结构第八章(一) 插入排序
c语言·数据结构·算法·排序算法·希尔排序
UFIT3 小时前
NoSQL之redis哨兵
java·前端·算法
喜欢吃燃面3 小时前
C++刷题:日期模拟(1)
c++·学习·算法
SHERlocked933 小时前
CPP 从 0 到 1 完成一个支持 future/promise 的 Windows 异步串口通信库
c++·算法·promise
怀旧,3 小时前
【数据结构】6. 时间与空间复杂度
java·数据结构·算法
积极向上的向日葵3 小时前
有效的括号题解
数据结构·算法·
GIS小天3 小时前
AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年6月7日第101弹
人工智能·算法·机器学习·彩票