Source Insight 4.0安裝使用教程


一、說明

Source Insight是什么:Source Insight是一款代碼編緝、瀏覽、分析工具。

Source Insight與文本編緝器有什么區別:Notepad++等文本編緝器也可以編緝、瀏覽代碼,但分析能力就比較弱;如跳轉函數定義處、跳轉函數調用處等都無能為力。

Source Insight與集成開發環境有什么區別:IDE除了代碼編緝、瀏覽、分析外還能編譯、調試、運行;Source Insight還能存在主要是在分析方面做得更好:一是多了一個調用函數上下文窗口、二是項目全局查找功能比較好、三是前進后退比較好。

總而言之,一方面Source Insight是代碼分析較好的工具。另一方面也不用太極端凡代碼風析必Source Insight,你想用IDE想用Notepad都是可以的。

另外,我們這里一直說代碼分析而不說代審計,是因為Source Insight和Wireshark一樣並不只是為安全人員設計的,一般的程序員也會用。分析側重於弄懂整個代碼流程,審計側重於在理解代碼基礎上找出漏洞。

 

二、安裝

Source Insight是收費軟件而我們喜歡使用學習版,加上安裝也就是雙擊安裝就可以了,就不多說了。

可參考鏈接:http://www.zdfans.com/html/18590.html

 

三、使用

3.1 創建項目

啟動Source Insight界面如下圖,依次點擊Project----New Project創建項目

New project name----這里的project name是Source Insight中起的項目名,而不是待審計的項目的項目名,也就是說不管后邊要審計什么項目這里想起什么名字都可以。但為了方便起見還是建議填的項目名與后續要審計的項目名一致。比如我這里后續要審計一個叫BankSystem的項目,這里的New project name也就填BankSystem。

Where do you want to store the project data files?----這個目錄是用於存放記錄代碼審計過程中的操作步驟、配置的文件,而不是待審計項目、代碼的位置,這點要搞清楚。

Project Source Directory----這里選擇待審計項目的目錄,下一步會從這里向項目導入代碼文件(這里只是導入位置而不是真把代碼復制一份進去)。

選擇要添加的文件,最簡單的直接點擊“Add Tree”

 

3.2 代碼審計

項目創建完成后界面如下。

右側窗口----導入的待審查文件展現在該位置,雙擊即可查看文件內容。還有另外以目錄形式展現等形式,自己實踐時多在那點幾下就懂了。

中間窗口----在左側窗口雙擊文件后文件內容的展示窗口。該窗口是Source Insight的主窗口。

左側窗口----展示當前在中間窗口打開的文件導入的庫、存在的類、類的屬性及方法。

底部窗口----展示當前光標指向的屬性、方法的定義處的上下文。

在“代碼審計思路 ”一文中我們說,代碼審計有正向跟蹤數據流和逆向追蹤數據流兩個思路,前者要搜索輸入函數看數據是否流向漏洞簽名函數,后者搜索漏洞簽名函數看數據是否源於輸入函數。

不管哪種思路首先需要的都是函數搜索。我們以全局搜索sql語句執行函數executeUpdate為例。

使用“Crtl+F”打開查找對話框

如果直接點擊Search只會在當前主窗口打開的文件內搜索,項目全局搜索我們需要點擊“Files”,勾選“Project Wide”再點擊Search。

當然也可以通過主菜單----Search----Search Project喚出與下圖類似的查找對話框。

 查找完成后,即會出現如下圖的搜索結果窗口,其中列出了當前審計項目中所有使用executeUpdate方法的位置。

點擊各位置前方的紅色按鈕即可跳轉到該位置的具體代碼,使用左上角的前進后退按鈕可將主窗口切換到自己前一步或后一步主窗口展示的窗口。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM