最近經常能看到有人問如何對照文件格式文檔,調試分析程序中正在解析的是什么結構?這里總結了幾點方法,歡迎補充,不過有時還是需要靠經驗。
(a)污點追蹤分析:標記文件內容為污點,再使用ida 污點分析的相關插件來分析寄存器對應的文件內容,結合010editor文件格式分析腳本來定位文件結構。
(b)執行指令比對:記錄正常文件與異常文件的執行指令(od、immdbg都有trace功能),然后再作代碼diff,比對代碼的差異性,再根據文件內容的差異性整體分析。
(c)條件消息斷點:在一些可能導致漏洞的變量都設置條件消息斷點,在log中記錄他的值,不少變量都會被循環操作的,根據變量記錄的結果,找到其中的規律來定位文件結構。
(d)假設法:有時分析漏洞真的是靠猜的,假設對應某個文件結構,再調試分析去證實。
(e)開源軟件符號表加載:比如分析libpng漏洞,優先找個使用libpng且開源并提供有符號的軟件,比如Firefox,分析libpng時直接使用firefox符號表去調試firefox就很容易定位結構,libpng函數也直接識別,或者你也可以直接編譯libpng制作符號表。
以上就是對文件漏洞分析中定位文件字段的方法,謝謝閱讀,希望能幫到大家,請繼續關注VEVB武林網,我們會努力分享更多優秀的文章。
新聞熱點
疑難解答