赞
踩
盲水印是一种肉眼不可见的水印方式,对图片资源使用图片盲水印或者文字水印,借此避免数字媒体未经授权的复制和拷贝,可通过对原图进行解码操作,得到水印图来证明版权归属。
这类盲水印是怎样实现的呢?原理并不复杂,通常是将图片进行离散余弦、小波或者傅里叶变换,得到图片的频谱信息,再将水印的编码信息叠加到图片的频谱上,然后再进行一次逆变换,生成的图片就带有几乎无法检测、但又可以确切还原出来的盲水印了。
而这样的盲水印制作GitHub就有开源算法可以实现
https://github.com/chishaxie/BlindWaterMark#blindwatermark
攻防世界 misc 4-1
附件链接:https://adworld.xctf.org.cn/media/file/task/94bcfe60a3d3409bb77823c70a4c0245.zip
下载得到zip解压得到PNG图片
Kali下binwalk分析文件发现隐写zip foremost分离文件
解压分离后的zip得到一个压缩包和一个小提示
小提示
解压压缩包得到两张图片
考点是盲水印
运行脚本前需要安装两个模块
先需要安装opencv
选择如下其中一条命令安装
- pip install opencv-python
- pip3 install opencv-python
安装matplotlib
python -m pip install matplotlib
使用如下其中一条命令提取盲水印(选择哪条取决于运行的是Python2脚本还是Python3)
- python2 bwm.py decode day1.png day2.png flag.png
- python bwmforpy3.py decode day1.png day2.png flag.png --oldseed
生成一个flag.png图片
得到flag
原图,水印图
加了盲水印的图及提取出来的水印图
光线攻击及提取出来的水印图
多遮挡攻击及提取出来的水印图
涂画攻击及提取出来的水印图
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。