成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用Stegsolve解答圖片隱寫

開發
Stegsolve是一款圖片隱寫分析軟件,支持常見的圖片文件格式,可提取GIF文件中的幀。當兩張jpg圖片外觀、大小、像素都基本相同時,可以考慮進行結合分析,即將兩個文件的像素RGB值進行XOR、ADD、SUB等操作,看能否得到有用的信息。

1.1 題目分析   

1.misc類題目

在i春秋給出的ctf比賽中,misc題目類型中,僅僅給出一個zip文件的下載地址,其中給出了一個提示“red0”,無任何其它提示,該zip文件為圖片文件其壓縮文件下載地址為:https://static2.ichunqiu.com/ictf/resources/attach/red0_a311fc237b75e084793fcfbfa4105bd0.zip

2.分析題意

red0是提示,以前未玩過圖片隱寫,不知道是啥意思,本次通過查看各種資料,知道其實這個就是red,選擇0值。

1.2解題思路  

1.根據提示使用setgsolve進行分析,首先進行圖片轉換瀏覽,簡單的會直接獲取flag。

2.通過數據抽取進行分析

根據提示選擇圖像平面通道,通過預覽查看有無flag等關鍵字,有的可能是二進制編碼01,將二進制編碼提取出來,通過代碼進行處理或者在線轉換。

1.3實戰某ctf圖片隱寫  

1.下載Stegsolve

Stegsolve是一款圖片隱寫分析軟件,支持常見的圖片文件格式,可提取GIF文件中的幀。當兩張jpg圖片外觀、大小、像素都基本相同時,可以考慮進行結合分析,即將兩個文件的像素RGB值進行XOR、ADD、SUB等操作,看能否得到有用的信息。StegSolve可以方便的進行這些操作。打開StegSolve,選擇“file”->”open”打開一張圖片文件,然后選擇“analyse”->”image combine”選擇另一張圖片,默認的XOR操作就可以看到隱藏的信息。點擊窗口下方的箭頭,可以看到不同combine方式下的結果。使用工具的優點是簡單方便,但是缺乏擴展性,不能進行批量自動化處理。而對于自己編寫的腳本,就可以方便的進行擴展。Stegsolve下載地址:http://www.caesum.com/handbook/Stegsolve.jar    

2.運行Stegsolve

如果系統安裝了java運行環境,可以直接執行Stegsolve.jar程序,否則需要通過命令行來啟動java -jar Stegsolve.jar

3.打開圖片

在Stegsolve中單擊“File”打開本列中的圖片文件ez.png,注意開始運行Stegsolve.jar時,其軟件默認窗口比較小,打開后效果如圖1所示。

圖片

圖1使用Stegsolve打開圖片

4.圖像的位平面(bit plane)

(1)圖像位平面的定義

一幅256個灰度級的圖像可以分解成8個位平面,原因就是2^8=256,換句話說每一個像素點的灰度值可以由8個二進制位來表示,所謂的位平面(bit plane)就是依次取出每個像素點的數值組成一個位平面。舉一個簡陋的例子,假設當前圖像就有兩個像素點,這兩個像素點的灰度值分別是1和3,那么其對應的二進制位分別為10000000和11000000,那么該圖像分解成8個位平面依次為11、01、00、00、00、00、00、00,即通過取前面兩個二進制位的第一位、第二位、第三位等組成第一個位平面,第二個位平面,第三個位平面等。可以發現,每一個位平面均為一個二值圖,也就是說像素點的灰度值非0即1。    

(2)位平面的matlab實現

   可以在matlab中通過以下代碼進行實現,實現效果如圖2所示。

X=double(rgb2gray(imread('d:\test.bmp')));%將原始圖像轉換為灰度圖像,如果本身就是灰度圖可以去掉rgb2gray函數 
[h w] = size(X); 
subplot(3,3,1); 
imshow(X,[]); 
title('原始圖像'); 
for k=1:8 
 for i=1:h 
     for j=1:w 
      tmp(i,j) = bitget(X(i,j),k);%bitget函數首先將X(i,j)處灰度值分解為二進制串,然后取第k位 
     end 
 end 
 subplot(3,3,k+1); 
 imshow(tmp,[]); 
 ind = num2str(k); 
 imti = ['第',ind,'個位平面']; 
 title(imti); 
end

圖片

圖2實現位平面的效果

5.圖像平面通道瀏覽分析

在Stegsolve軟件下方中間文件使用向左或者向右的箭頭可以對圖片進行各種變換,如圖3所示,顯示是Red plane 2圖像平面層,在Stegsolve中可以進行Red/Green/Brue/Alpha 0-7通道的轉換,以及XOR等操作,某些題目可以直接通過該方法直接獲取flag值。

圖片

圖3圖像平面層轉換

6.提取數據分析(Data Extract)

在Stegsolve中單擊“Analyse”-“Data Extract”,如圖4所示進行數據提取分析,在本例中,在“Bit Planes”中選擇“Red 0”,Bit Plane Order中選擇RGB。單擊Preview可以看到在上方存在存在01字樣數據。    

圖片

圖4數據提取分析

解題技巧:

一般來講出題方都會給出提示,這些暗示有些會出現在題目上,有的會在注釋處,例如2014年XDCTF網絡安全大賽的web100題,題目中的圖片hackkey.png,明確是需要進行解答的對象,在圖像文件的注釋主有“rd rgb”的提示,根據提示選擇位圖平面順序RGB,選擇Red0即可解題,如圖5所示,獲取其key為“Xd$eC@2o14”。

圖片

圖5位圖平面Red0解題

7.保存文件并分析

(1)保存二進制文件

在Stegsolve中可以將分析的結果保存為txt文件和二進制文件,要根據情況,如圖圖片中已經出現了key則可以保存為txt文件,直接復制key或者flag來提交答案。在本例中由于出現的是代碼,還需要做進一步分析,因此將其保存為二進制文件2,然后使用notepad打開該文件,如圖6所示,將二進制01字段全部保存。    

圖片

圖6打開二進制文件并提取二進制代碼

(2)二進制轉換查詢

http://www.5ixuexiwang.com/str/from-binary.php網站中,復制數據進行查詢:

011001100110110001100001011001110111101101010000001100010110001101011111010010000011010001110011010111110011001101110110001100110111001001111001011101000110100000110001011011100110011101111101

如圖7所示,查詢獲取其flag為:flag{P1c_H4s_3v3ryth1ng}

圖片

圖7獲取flag值

(3)python解碼二進制

  將一下代碼保存為ejz.py:

binary_string='011001100110110001100001011001110111101101010000001100010110001101011111010010000011010001110011010111110011001101110110001100110111001001111001011101000110100000110001011011100110011101111101'
import binascii
hex_string = "%x"%(int(binary_string, 2))    
hex_string = hex_string[ : len(hex_string) / 2 * 2]
print "key :", binascii.a2b_hex(hex_string)

執行 python ejz.py后,獲取其flag如圖8所示。

圖片

圖8python直接解碼獲取flag

1.4python編程解決jpg格式圖片  

1.安裝

python操作圖片需要用到PIL(Python Imaging Library)庫,可以通過easy_install PIL命令安裝。如果使用Mac系統系統的話,還可以用brew install pillow來安裝。安裝PIL后就可以import Image庫了。如果系統是64位還需要下載64位程序進行安裝,下載地址https://files.pythonhosted.org/packages/e6/f0/7e6d01f026274363aaefb6b7e924f4b34b4a825a4bd8eaebfbd7d401af91/Pillow-2.1.0.win-amd64-py2.7.exe,32位程序可以參考進行下載https://pypi.org/project/Pillow/2.1.0/#files

2.使用以下代碼進行讀取

參考網友解決jpg格式文件的處理代碼,執行后即可獲取二進制代碼。

# -*- coding:utf-8 -*-
import Image
image = Image.open("hack.jgp")
width, height = image.size
binary_string = ""
for y in range(height):
    for x in range(width):
        #獲取坐標(x, y)處的顏色值    
        r, g, b = image.getpixel((x, y))
        color = (r << 16) + (g << 8) + b
        #獲取顏色二進制值的最后一位
        last_bit = str(bin(color))[-1]
        binary_string += last_bit
print binary_string

1.5總結  

1.jpg等圖片文件包含其它文件

最簡單的處理辦法,就是使用7zip、winrar等軟件直接打開jpg文件,如圖9所示,在jpg文件中可以看到教育學.txt,打開后,可以看到是下載鏈接地址,這個方法是目前AV圖片種子的常見隱藏方法。

圖片

圖9winrar打開壓縮文件

2. 種子圖片文件生成方法

先要有張圖,比如girl.jpg,在把種子用winrar壓縮,得到壓縮文件,比如av.rar,放在同一個文件夾下。再在該文件夾里建立一個txt文件,打開輸入 copy /b girl.jpg + vvv.rar zzz.jpg,關閉保存。將txt文件后綴名改為bat,運行以后就會生成一個文件zzz.jpg,就是圖種。使用時將zzz.jpg后綴名改為rar,解壓即得種子。

3.二維碼解碼

在有些題目中會給出二維碼圖片或者地址,將圖片上傳到http://tool.chinaz.com/qrcode網站后,會直接給出其flag值:flag{AppLeU0},如圖9所示。在進行解碼過程中要特別注意,,隱寫的載體是PNG或者bmp格式可以直接讀取,而對于經過有損的壓縮,例如jpg格式就不行。    

圖片

圖9獲取flag值

4.修改頭文件

有些題目會故意將文件頭信息類似“GIF8”去掉,這個時候通過觀察,將其修改成gif的頭文件格式即可正常查看。gif文件會通過幀來隱藏flag,推薦是用Namo_GIF_gr工具進行查看。

5.圖片或者壓縮文件注釋信息等

在圖片文件或者壓縮文件注釋信息中往往會隱藏密碼或者flag,因此需要對其進行分析和查看。

6.binwalk及foremost處理

(1)binwalk下載地址

https://github.com/ReFirmLabs/binwalk

(2)安裝  

git clone https://github.com/ReFirmLabs/binwalk.git

(3)分析文件

 binwalk ctf.jpg

 加入分析結果中表明從140147處開始,存在另外一個文件。

(4)分離文件    

 dd if= ctf.jpg of= ctf -1.jpg skip=140147 bs=1

這里if是指定輸入文件,of是指定輸出文件,skip是指定從輸入文件開頭跳過140147個塊后再開始復制,bs設置每次讀寫塊的大小為1字節,表示從ctf.jpg中分離出來ctf-1.jpg文件。

(5)安裝foremost

apt-get install foremost

(6)提取及分析文件

 foremost ctf.jpg

 當我們使用這行命令后,foremost會自動生成output目錄存放分離出文件,查看其文件夾下文件即可。

參考文章:

https://blog.esu.im/71.html

http://www.poboke.com/study/2014-xdctf-network-security-competition-web100.html

https://www.secpulse.com/archives/4855.html    

責任編輯:龐桂玉 來源: 小兵搞安全
相關推薦

2020-09-23 17:16:52

Python技術工具

2019-04-08 10:26:20

2019-07-01 13:06:45

隱寫術網絡安全威脅

2018-05-18 14:40:34

2021-05-25 11:40:27

網絡安全隱寫互聯網

2013-12-04 09:31:10

2021-01-27 21:53:50

版權保護隱寫

2024-04-16 11:49:08

2021-02-04 20:57:19

顯隱術版權字符

2015-06-30 12:39:33

公有云問題解答

2015-07-02 14:27:23

2011-03-28 17:45:03

nagios問題

2010-03-30 13:02:51

Oracle版本

2010-11-16 15:11:52

Oracle隱式游標

2010-08-26 13:24:15

CSSmargin

2011-07-12 14:38:35

XenServer 5

2009-09-08 14:53:46

CCNA考試

2009-12-07 16:29:46

Juniper認證考試

2011-04-13 09:02:37

WLAN無線

2011-05-10 14:14:10

OSPF路由
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久亚洲精品 | av黄色在线| 日本字幕在线观看 | 九九视频在线观看视频6 | 亚洲网站在线观看 | 亚洲精品一区二区三区中文字幕 | 久久久123 | 精品在线一区 | www.久久久久久久久久久久 | 久久久久久亚洲 | 国产精品99久久久久久人 | 亚洲一区国产精品 | 国产乱码精品一区二区三区中文 | 日韩免费毛片视频 | 久久中文字幕电影 | 亚洲影视在线 | 亚洲国产成人精品女人久久久 | 日韩久久成人 | 精品欧美一区二区三区久久久 | 九九九视频| 在线a视频 | 一区二区福利视频 | 狠狠天天 | 91精品久久久久久久久 | 99九九久久 | 国产在线观看免费 | 国产精品久久久久久久午夜片 | 中文字幕一区二区三区四区五区 | 日韩三片 | 日韩国产欧美视频 | 日韩快播电影网 | 99国产视频 | 日操夜操| 久久久久久看片 | 欧洲视频一区二区 | 中文字幕在线观看国产 | 成人免费黄色片 | 中文字幕不卡一区 | 全免费a级毛片免费看视频免费下 | 亚洲精品国产一区 | 国产精品永久 |