比如我們現有圖123.jgp,要對它進行分析,查找圖片中隱藏的flag,首先要了解一些關於圖片格式的知識,這里舉例jpg格式的圖片,其他格式圖片自行google一下。
jpg圖片格式知識:
jpg格式文件開始的2字節是圖像開始SOI(Start of Image,SOI)為FF D8,之后2個字節是JFIF應用數據塊APPO(JFIF application segment)為FF E0 ,最后2個字節是圖像文件結束標記EOI(end-of-file)為FF D9,在kali下用hexeditor工具打開某張圖片如下圖:
有了這些知識,我們就可以分離一張圖片中隱藏的其他文件/信息。
可見,在圖片中還隱藏了其他文件。或者用foremost工具自動分離圖片和其他信息,工具命令:foremost 123.jpg,此時會在當前目錄下生成一個output***文件夾。
OK,打開rar文件夾,里面的txt文件內容就是隱藏的flag。
拓展:圖片馬的原理也是將一個馬文件和一張圖片兩個文件以二進制方式連接起來,圖片查看器會忽視FF D9結束符之后的內容,所以圖片馬也能夠正常打開,但該圖片內有貓膩。