0.前言
? ? ? ? 記得一次CTF當中有一題是給了一個pcapng格式的流量包,flag好像在某個響應中的圖片里。比較簡單,后來也遇到過類似的情況,所以總結和記錄一下使用Wireshark提取圖片的方法。
? ? ? ? 提取的前提是HTTP協議,至于HTTPS的協議需要導入服務器私鑰,多了私鑰解密的過程。本篇比較簡單,使用HTTP協議測試和記錄。
? ? ? ? 提前準備工作:
? ? ? ? 1、準備Wireshark,Wireshark是長期霸榜sectools前三軟件,是強有力的抓包和流量分析工具,真的很值得每個IT人士學習和掌握的。我使用的是Portable版,也就是免安裝綠色便攜版:WiresharkPortable64.exe;
? ? ? ? 2、找一個http的網站,比如:中國人事考試網人力資源和社會保障部人事考試中心是直接隸屬于人力資源和社會保障部的事業單位。按照部賦予的職能,人事考試中心主要承擔公務員錄用考試、專業技術人員資格考試、公務員遴選考試、中央單位接收安置軍轉干部考試和事業單位公開招聘考試等五大類,50余項考試的命題、閱卷、考務組織、考試技術指導和考試服務等工作。http://www.cpta.com.cn/? ? ? ? 3、筆記本使用有線或wifi方式接入互聯網。
? ? ? ? 4、獲取流量。
????????打開Wireshark,選中對應網卡,點擊以后就開始開始捕獲分組;
? ? ? ? 這時候用瀏覽器打開剛才的網站頁面,等待也面加載完畢后,點解左上角的方塊停止抓包。
? ? ? ? 或者可以直接使用Wireshark打開已經捕獲的流量包。
? ? ? ? 在流量過濾欄中輸入http,用來過濾,只顯示http流量。? ??
? ? ? ? 這時候就過濾得到純粹的http流量,然后就可以開始提取圖片了。?
1、方法一
? ? ? ? 第一個提取圖片的方法是Wireshark提供的,他可以自動導出不同類型的圖片。
? ? ? ? 點擊文件---導出對象---HTTP。
????????選擇image/gif,點擊全部保存。這里有3個選項,經我測試,不管選哪一個都會把不同后綴名的圖片全部導出。所以這里只需要任選一個類型導出到文件夾即可。
? ? ? ? 這個是最簡單的辦法。好像導出文件當中會混入個別其他格式的文件,不過圖片文件應該是全在的。
2、方法二?
? ? ? ? 第二個辦法是也是通過Wireshark的工具對圖片進行導出和預覽。
? ? ? ? 找到HTTP? 200 OK 的響應包,這里有2個,可以對比一下不同內容。
? ? ? ? 對比HTTP協議分析出的傳輸內容:
? ? ? ? 可以看到一個是text/css,一個是jpeg圖片格式。右鍵點擊JPEG File Interchange,選擇顯示分組字節。
? ? ? ? 在彈出窗口中可以看到顯示的圖片,如果不是,更改下面的顯示為:圖像。
?
? ? ? ? ?在剛才菜單當中如果選擇導出分組字節流相當于把圖片另存為,直接保存下來。
? ? ? ? ? 這種辦法好像獲取到的圖片不是最全的,只有某些圖片會顯示在HTTP協議下面。
3、方法三
? ? ? ? 選中剛才HTTP? 200 OK響應包,右鍵單擊選擇追蹤流。
? ? ? ? HTTP流或TCP流都可以。
? ? ? ?
? ? ? ? 一般情況下會是上圖樣子,可以把Shwo data as 改為hex?轉儲。
? ? ? ? ?找到對應的響應文件內容附近,再往下看到右邊ASCII顯示亂碼的時候大概就是文件內容的開始。ASCII?
? ? ? ? 通過搜索得知jpeg文件的開頭和結尾分別是FF D8和FF D9。
? ? ? ? ?通過查找可以找到字節位置。
? ? ? ? 中間內容還比較多,我只截取部分截圖。然后通過選擇,復制。然后使用UE或者Notepad++來編輯內容。把前面的8位和后面的ASCII顯示內容刪除。
????????Notepad++可以按alt來按列編輯,內容多的話可以按shift+alt+箭頭再加up或down鍵快速翻頁。
? ? ? ? 刪除多余內容后,得到:
? ? ? ? 然后全選內容,復制,粘貼到winhex當中。
? ? ? ? winhex提前建立一個1字節的空白文件,粘貼時提示擴展。粘貼板格式時選擇ASCII Hex。
? ? ? ? 內容粘貼完畢后就可以另存為圖片格式。2.jpeg
4、總結
? ? ? ? 第一種方法最簡單最全面,應該不會有遺漏,第二種的話可以快速顯示一張圖片。
????????第三個辦法是舍近求遠,簡單事情復雜化的辦法。不過通過這個過程可以理解文件類型、文件開頭結尾內容;使用winhex編輯文件等過程,也挺好玩的。