文件類型(圖片、壓縮包、流量包、word、Excel、ppt,PDF....)windows
怎麼知道是一張圖片:後綴名是.jpg .png...編輯器
(這邊說到的命令或者是工具,其實都是叫工具,說命令只是說這個工具沒有圖形化界面,但自己就是一個工具而已,這個工具是命令行的)工具
在Linux系統中使用該命令spa
命令格式:file 文件名插件
當文件沒有後綴名或者有後綴名可是沒法正常打開時,根據識別出的文件類型來修改後綴名便可正常打開文件。命令行
使用場景:不知道後綴名,沒法打開文件3d
格式:file myheart日誌
工具是怎麼識別這個文件的類型呢?★★★blog
去剪切這個文件頭,解析它,zip檢測到504B0304.是根據文件頭的字段來識別這個文件是什麼類型的圖片
使用winhex程序能夠查看文件的頭類型,根據文件頭類型能夠判斷出文件類型
使用場景:windows系統下經過文件頭信息判斷文件類型
hex:十六進制 winhex實際上是一個十六進制文件的編輯器
010editor(推薦)也是一個十六進制編輯器
notepad++ 有一個hex插件,notepad++能夠高亮代碼,好用!
三個工具
一張圖片用notepad++打開是一串亂碼。有一個插件——》HEX-editor——》View in HEX查看它的十六進制
演示:用010editor打開:
flag值可能寫在右邊的ASCII碼中
文件頭破壞了怎麼識別??
作一個修復 ↓
(可能要用到的工具:010editor 16進制編輯器)
文件頭部殘缺或者頭部字段錯誤沒法打開正常文件,針對這種狀況,使用winhex程序添加相應的文件頭,針對頭部字段錯誤,能夠找一個相同類型的文件進行替換
使用場景:文件頭部殘缺或者頭部字段錯誤沒法打開正常文件
格式:file 文件名
若是文件沒法打開,使用該命令解析,顯示data信息,則表示該文件頭部殘缺或者錯誤,此時就能夠用16進制編輯器在第一行補充正確的文件頭
會顯示這是一個data文件
010editor 16進制編輯器去修復
一張圖片可能包含多少信息呢?
圖片種子:下載一張圖片也就幾百kb,其實它蘊藏的信息有一兩個G
正常的隱寫就是:你看到的是一張圖片,它多是由好幾張圖片拼成的。甚至不僅是圖片,一張圖片裏面還有壓縮包,還有txt,還有PDF 還有其餘文件
出題人把不少文件融合成一張圖片——》文件分離
該工具是Linux下用來分析和分離文件的工具,能夠快速分辨文件是否有多個文件合併而成,並將文件分離。若是分離成功會在目標文件的目錄中生成一個形如_文件名_extracted的文件目錄,目錄中會有分離後的文件。
格式:
分析文件 :binwalk filename.後綴
分離文件:binwalk -e filename
binwalk特色是遇到壓縮包會幫咱們自動解壓
key.txt就是咱們的flag
若是用binwalk沒法分離出文件,能夠使用該工具,將目標文件複製到kali中,成功執行後會將分離後的文件保存在源文件的新文件夾中。
命令格式:foremost 文件名.後綴 -o 自定義保存分離文件的文件夾名 (用-o 把它輸出到一個目錄下o就是out)
會生成一個名稱爲123的文件夾
foremost是一個比較中規中矩的一個分離軟件,不像binwalk(看到壓縮包會幫您解壓),
foremost不會,foremost會幫您分類,告訴你哪一個文件夾是jpg,哪一個文件夾是zip,會幫你分類。甚至分離完還會給你寫一個日誌文件
當上面兩個工具分離出錯或者沒法自動分離時,就須要dd來手動實現分離
命令格式:
dd if=源文件 of=目標文件名 bs= count= skip= 開始分離的字節
dd if=源文件 of=輸出文件 bs=5(我要取前面五個字符,塊就爲5 ) count=1(去1塊) skip= 開始分離的字節
參數說明;
if = file 輸入文件名 缺省爲標準輸入
of = 分離後的文件名 分離後的文件名
bs=i 將文件分爲多個塊,一個塊的大小爲字節爲i(bs=bytes)
count=j 從頭開始取j塊
skip-k
命令表示:截取源文件,開始字段爲i X k,截取字段的長度爲i X j 當skip省略時,截取從0開始,截取字段的長度爲i X j
skip=blocks 從輸入文件開頭跳過blocks個塊後再開始複製
實例:
用16進制編輯器打開圖片,怎麼定位到地址呢?
怎麼找到0x596F?
除了用dd外,還能夠使用過winhex實現手動分離,將目標文件拖入winhex中,找到要分離的部分,點擊複製便可
使用場景:windows下利用winhex程序對文件進行手動分離
例如:新建一個文件,文件大小1byte,在文件開頭位置點擊粘貼,彈出提示框選否,肯定,將文件保存爲想要的後綴便可。
用法1:選擇須要分離的文件在源文件中的內容,按圖中所示選擇選項便可分離出源文件包含的文件。
將某塊區域文件保存的方式以下:
一、010Editor打開文件——》選中右鍵——》selection——》Save Selection
用法2:將16進制的文件導入,而後另存爲對應的文件類型
(題目給出多個文件,咱們須要將這些文件按順序合併,校驗md5等肯定是否合併正確,通常在打開合併的文件後就能夠獲得flag)
使用場景:Linux下一般對文件名相似的文件進行批量合併
命令格式:cat 合併的文件1 合併的文件2 … >合併後輸出的文件名
完整性檢測(計算文件的md5等等):md5sum 文件名
使用場景:Windows下,一般要對文件名相似的文件進行批量合併
格式:copy /B 合併的文件1+合併的文件2+… 輸出的文件名
完整性檢測(計算文件的md5等等) :certutil -hashfile 文件名 md5
題目給一個或多個文件,咱們須要用工具打開,例如notpad++,而後使用查找功能搜索fiag或者key等關鍵字,以獲得題目線索。
文件可能還須要使用16進制編輯器打開,而後再進行查找等操做