news 2026/4/18 6:30:11

Divide and Conquer - Writeup by AI

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Divide and Conquer - Writeup by AI

Divide and Conquer - Writeup by AI

📋 题目信息

  • 题目来源:BugKu CTF
  • 题目类别:Crypto(密码学)/ Steganography(隐写术)
  • 题目名称:Divide and Conquer(分治)

🎯 考点分析

核心知识点

知识点权重说明
图片隐写术40%LSB 隐写、XOR 隐藏技术
PIL/Pillow 库30%图像处理与差异计算
分治思想20%将问题分解后合并解决
二值图像编码10%布尔矩阵与信息提取

题目特点

  • 典型隐写题:信息隐藏在两张看似相同的图片中
  • 视觉不可见:单独查看每张图片无法发现异常
  • 需要对比:必须通过特定操作才能显现隐藏内容

💡 解题思路

1. 题目分析

**“Divide and Conquer”(分治法)**的含义:

  • Divide(分):Flag 被分成两部分,分别隐藏在img1.pngimg2.png
  • Conquer(治):通过对比两张图片,提取出隐藏的 Flag

2. 技术路线

img1.png

Difference/XOR

img2.png

final.png

可视化 Flag

3. 突破口

  • 两张图片尺寸相同(1366×768)
  • 两张图片模式相同(‘1’ - 二值图像)
  • 97.56% 的像素完全相同
  • 关键:2.44% 的差异区域隐藏了 Flag

🔧 详细解题步骤

步骤 1:检查文件结构

发现文件:

  • img1.png- 第一张图片(二值图像)
  • img2.png- 第二张图片(二值图像)

步骤 2:初步分析图片

使用 Python 查看图片基本信息:

fromPILimportImage im1=Image.open("img1.png")im2=Image.open("img2.png")print(f"Image 1: 模式={im1.mode}, 尺寸={im1.size}")print(f"Image 2: 模式={im2.mode}, 尺寸={im2.size}")

输出结果:

Image 1: 模式=1, 尺寸=(1366, 768) Image 2: 模式=1, 尺寸=(1366, 768)

分析:

  • 模式'1'表示二值图像(只有黑白两色)
  • 尺寸完全相同,可以进行像素级对比

步骤 3:计算图片差异(核心步骤)

使用ImageChops.difference()方法:

fromPILimportImage,ImageChops# 打开图片im1=Image.open("img1.png")im2=Image.open("img2.png")# 计算差异im3=ImageChops.difference(im1,im2)# 保存并查看im3.save("final.png")im3.show()

步骤 4:查看结果

打开生成的final.png,可以看到清晰的 Flag 文字!


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 6:27:14

当Copilot写出恶意反序列化代码时——智能代码生成安全风险评估的“黄金45分钟”响应协议(含SAST+DAST+LLM-Sandbox三重验证机制)

第一章:当Copilot写出恶意反序列化代码时——智能代码生成安全风险评估的“黄金45分钟”响应协议(含SASTDASTLLM-Sandbox三重验证机制) 2026奇点智能技术大会(https://ml-summit.org) 当开发者在IDE中键入// Deserialize untrusted JSON pa…

作者头像 李华
网站建设 2026/4/18 6:25:17

造相-Z-Image常见问题解决:RTX 4090部署、生成、优化全攻略

造相-Z-Image常见问题解决:RTX 4090部署、生成、优化全攻略 如果你手握一块性能强劲的RTX 4090显卡,却总在运行文生图模型时遇到显存爆满、生成黑图、速度缓慢的困扰,那么这篇文章就是为你准备的。造相-Z-Image,一个专为RTX 4090…

作者头像 李华
网站建设 2026/4/18 6:20:55

conda源切换全攻略:从清华源到默认源的高效管理

1. 为什么需要切换conda源? 刚开始用conda的时候,我经常遇到安装包速度慢到让人抓狂的情况。有一次安装TensorFlow,进度条几乎不动,等了两个小时才完成。后来才知道,conda默认使用的是国外服务器,国内用户直…

作者头像 李华
网站建设 2026/4/18 6:20:14

docker commit 封装镜像

1.创建基础容器 docker run --name nginx -p 80:80 -d 163 docker exec -it nginx /bin/bashsed -e s|^mirrorlist|#mirrorlist|g \-e s|^#baseurlhttp://mirror.centos.org|baseurlhttps://mirrors.tuna.tsinghua.edu.cn|g \-i.bak \/etc/yum.repos.d/CentOS-*.repo #将网络…

作者头像 李华