?前言
盲水印同樣是CTF Misc中極小的一個知識點,剛剛做到一題涉及到這個考點的題目,
感徑訓挺有意思的,就順便去了解了下盲水印技術,
數字水印
數字水印(Digital Watermark)一種應用計算機演算法嵌入載體檔案的保護資訊,數字水印技術,是一種基于內容的、非密碼機制的計算機資訊隱藏技術,它是將一些標識資訊(即數字水印)直接嵌入數字載體當中(包括多媒體、檔案、軟體等)或是間接表示(修改特定區域的結構),且不影響原載體的使用價值,也不容易被探知和再次修改,但可以被生產方識別和辨認,通過這些隱藏在載體中的資訊,可以達到確認內容創建者、購買者、傳送隱秘資訊或者判斷載體是否被篡改等目的,數字水印是保護資訊安全、實作防偽溯源、著作權保護的有效辦法,是資訊隱藏技術研究領域的重要分支和研究方向,
盲水印技術

參考:https://developer.qiniu.com/dora/api/5915/blind-watermarking-processing
這里再推薦兩個知乎專欄關于盲水印實作的知乎專欄
從傅立葉變換到盲水印(上)——離散傅立葉變換
從傅立葉變換到盲水印(中)——圖片盲水印實作
?CTF解題

題目鏈接:https://adworld.xctf.org.cn/task/answer?type=misc&number=1&grade=1&id=4842&page=2
Misc基本操作

下載得到zip解壓得到PNG圖片
檢查詳細資訊 010查看圖片
Kali下binwalk分析檔案發現隱寫zip foremost分離檔案

解壓分離后的zip得到

解壓分離后的zip解壓得到檔案里的zip(!禁止套娃)
有兩張圖片

stgesolve混合兩張圖片沒有發現
查看wp了解到考點是盲水印
GitHub上有提取合成盲水印的腳本 Python2/3都有
https://github.com/chishaxie/BlindWaterMark
Python實作盲水印提取
運行腳本前需要安裝兩個模塊
可以使用如下命令批量安裝
pip install -r requirements.txt
//來源GitHub專案主頁 未測驗 應該可行
先需要安裝opencv
選擇如下其中一條命令安裝
pip install opencv-python
pip3 install opencv-python
//本機Python2/3環境都有而且共存 這里裝Python3的


需要先更新pip 按照提示命令操作就行
更新完pip后達到運行要求

還需要安裝matplotlib
選擇如下其中一條命令安裝
pip install matplotlib
pip3 install 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
//第一條命令是因為本機配置了使用python2命令運行Python2環境
//第二條命令后加--oldseed是因為直接跑了Python3腳本生成的flag什么都看不清
如下圖(真的什么都看不清!)

可以在GitHub專案主頁上了解到:注意程式python2和python3版本的加解密結果會有所不同,主要原因是python2和python3 random的演算法不同,如果要讓python3兼容python2的random演算法請加 --oldseed引數,

運行腳本后提取查看flag


Flag:wdflag{My_c4t_Ho}

結束,
Python實作盲水印合成
Github專案主頁檔案說明:

合成盲水印圖 使用如下命令:
python bwm.py encode hui.png wm.png hui_with_wm.png
?盲水印軟體
去了解下實作盲水印的軟體:WaterMake
吾愛破解首發:https://www.52pojie.cn/thread-709668-1-1.html
現在已取消軟體下載,并且新帖已經被洗掉,
不過網路上還是可以找到這款工具的,感徑訓是很不錯的,
軟體界面

破壞測驗





?轉載請注明出處
本文作者:雙份濃縮馥芮白
原文鏈接:https://www.cnblogs.com/Flat-White/p/13517001.html
著作權所有,如需轉載請注明出處,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/69494.html
標籤:其他
