自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

工具推薦:三款自動化代碼審計工具

安全 數(shù)據(jù)安全 自動化
在源代碼的靜態(tài)安全審計中,使用自動化工具代替人工漏洞挖掘,可以顯著提高審計工作的效率。學(xué)會利用自動化代碼審計工具,是每一個代碼審計人員必備的能力。在學(xué)習(xí)PHP源代碼審計的過程中,本人搜集使用了多款自動化工具。本文將簡要介紹其中三款比較實用的工具:RIPS、VCG、Fortify SCA。

0×01 簡介

工欲善其事,必先利其器。

在源代碼的靜態(tài)安全審計中,使用自動化工具代替人工漏洞挖掘,可以顯著提高審計工作的效率。學(xué)會利用自動化代碼審計工具,是每一個代碼審計人員必備的能力。在學(xué)習(xí)PHP源代碼審計的過程中,本人搜集使用了多款自動化工具。本文將簡要介紹其中三款比較實用的工具:RIPS、VCG、Fortify SCA。

RIPS是一款開源的,具有較強漏洞挖掘能力的自動化代碼審計工具。它使用PHP語言編寫的,用于靜態(tài)審計PHP代碼的安全性。

VCG(VisualCodeGrepper),是一款支持C/C++、C#、VB、PHP、Java和PL/SQL的免費代碼安全審計工具。它是一款基于字典的檢測工具,功能簡潔,易于使用。

Fortify SCA(Static Code Analyzer)是由Fortify軟件公司(已被惠普收購)開發(fā)的一款商業(yè)版源代碼審計工具。它使用獨特的數(shù)據(jù)流分析技術(shù),跨層跨語言地分析代碼的漏洞產(chǎn)生,目前支持所有的主流開發(fā)語言。

本文結(jié)合一個應(yīng)用實例的分析,介紹三款工具的使用方法以及特性。

0×02 RIPS

RIPS的主要功能特點如下:

1) 能夠檢測XSS、SQL注入、文件泄露、本地/遠程文件包含、遠程命令執(zhí)行以及更多種類型的漏洞。

2) 有5種級別選項用于顯示以及輔助調(diào)試掃描結(jié)果。

3) 標記存在漏洞的代碼行。

4) 對變量高亮顯示。

5) 在用戶定義函數(shù)上懸停光標可以顯示函數(shù)調(diào)用。

6) 在函數(shù)定義和調(diào)用之間靈活跳轉(zhuǎn)。

7) 詳細列出所有用戶定義函數(shù)(包括定義和調(diào)用)、所有程序入口點(用戶輸入)和所有掃描過文件(包括include的文件)。

8) 以可視化的圖表展示源代碼文件、包含文件、函數(shù)及其調(diào)用。

9) 僅用幾個鼠標點擊就可以使用CURL創(chuàng)建針對檢測到漏洞的EXP實例。

10) 詳細列出每個漏洞的描述、舉例、PoC、補丁和安全函數(shù)。

11) 7種不同的語法高亮顯示模式。

12) 使用自頂向下或者自底向上的方式追溯顯示掃描結(jié)果。

13) 一個支持PHP的本地服務(wù)器和瀏覽器即可滿足使用需求。

14) 正則搜索功能。

最新版本的RIPS是0.55,下載鏈接如下:

https://sourceforge.net/projects/rips-scanner/

解壓下載的zip文件到Web服務(wù)器網(wǎng)站目錄下即可。在瀏覽器中輸入Web服務(wù)器地址和對應(yīng)目錄,RIPS工具的用戶使用界面如下:

工具推薦:三款自動化代碼審計工具

 

最上方是所有功能按鈕菜單。

工具推薦:三款自動化代碼審計工具

 

掃描任務(wù)結(jié)束后,菜單中會出現(xiàn)4個新的按鈕,分別用來顯示/隱藏4個掃描結(jié)果窗口:被掃描文件、用戶輸入點、掃描狀態(tài)信息和被掃描函數(shù)。

[[165218]]

 

現(xiàn)在以一個簡單的實例來說明RIPS的使用方法,下載鏈接如下:

http://jsdx.down.chinaz.com/201603/webjoker_v2.2.0.zip

該PHP應(yīng)用程序用來統(tǒng)計某網(wǎng)站的用戶訪問情況,登錄到程序后臺可以查看詳細訪問信息。將下載后的程序解壓,在RIPS的“path/file”選項中填入程序解壓目錄,其它選項保持默認,點擊“scan”按鈕開始掃描任務(wù)。

工具推薦:三款自動化代碼審計工具

 

掃描結(jié)束后,點擊window菜單的4個按鈕可以顯示任務(wù)的詳細情況。

工具推薦:三款自動化代碼審計工具

 

正文部分顯示掃描出漏洞的詳細情況,點擊“hide all”按鈕可以查看/隱藏每個文件的詳細漏洞結(jié)果列表。

工具推薦:三款自動化代碼審計工具

 

讓我們來看其中某一個漏洞詳情,init.php源代碼中存在SQL注入漏洞。

工具推薦:三款自動化代碼審計工具

 

未過濾的$procookie參數(shù)直接被cheakcookie()函數(shù)調(diào)用。將光標懸停在cheakcookie()函數(shù)上方,即可顯示cheakcookie()函數(shù)是如何定義的。

工具推薦:三款自動化代碼審計工具

 

cheakcookie()函數(shù)在main.php文件中被定義,可以看出未被過濾的參數(shù)直接帶入SQL語句被執(zhí)行。

在漏洞的詳細情況中顯示$procookie參數(shù)由$_COOKIE[count_admin]傳遞,從init.php源代碼的上下文可知,該參數(shù)是為了后臺登錄的cookie值校驗。當count_admin值無法匹配數(shù)據(jù)庫中的數(shù)據(jù)時,校驗失敗。

工具推薦:三款自動化代碼審計工具

 

將POST包中Cookie中的count_admin改為“’ or 1=1 #”,即可繞過cookie校驗,直接進入后臺。

工具推薦:三款自動化代碼審計工具

 

0×03 VCG

VCG是一個基于字典的自動化源代碼掃描工具,可以由用戶自定義需要掃描的數(shù)據(jù)。它可以對源代碼中所有可能存在風(fēng)險的函數(shù)和文本做一個快速的定位。

VCG的下載鏈接如下:

http://sourceforge.net/projects/visualcodegrepp/

雙擊下載的msi文件進行安裝即可。

工具推薦:三款自動化代碼審計工具

 

在Settings->Options->ConfigFiles選項中可以對每種語言的掃描配置文件進行編輯。

工具推薦:三款自動化代碼審計工具

 

點擊Settings選項,選擇掃描的目標語言類型。點擊File->New Target Directory選項,選擇需要掃描的源代碼文件存放目錄,我們選擇上文提到的應(yīng)用實例存放目錄。點擊Scan->Full Scan選項,掃描開始。

工具推薦:三款自動化代碼審計工具

 

掃描結(jié)果以圖標的形式對被掃描文件的數(shù)據(jù)做一個統(tǒng)計,這個功能有點雞肋。我們重點關(guān)注Results和Summary Table兩個面板顯示的內(nèi)容。

工具推薦:三款自動化代碼審計工具

 

Results面板顯示所有存在安全風(fēng)險的源碼,右鍵點擊可以對結(jié)果進行排序過濾。

工具推薦:三款自動化代碼審計工具

 

Summary Table面板是對Results面板內(nèi)容的總結(jié)展示。

VCG是通過匹配字典的方式查找可能存在風(fēng)險的源代碼片段。它的掃描原理較為簡單,跟RIPS側(cè)重點不同,并不深度發(fā)掘應(yīng)用漏洞。VCG可以作為一個快速定位源代碼風(fēng)險函數(shù)的輔助工具使用。

0×04 Fortify SCA

Fortify SCA是一款商業(yè)軟件,價格較為昂貴,因此我只找到了一個早期的版本進行試用。因為是商業(yè)軟件,它有詳細的使用文檔,查閱非常方便。它支持一些IDE的插件功能,在安裝的時候會有選項。

工具推薦:三款自動化代碼審計工具

 

Fortify SCA的代碼審計功能依賴于它的規(guī)則庫文件,我們可以下載更新的規(guī)則庫,然后放置在安裝目錄下相應(yīng)的位置。bin文件放置在安裝目錄下Core\config\rules文件夾,xml文件放置在Core\config\ExternalMetadata文件夾(如果該文件夾沒有則新建一個)。

打開AuditWorkbench,點擊Start New Project->Advanced Scan選項就可以快速開始一個審計任務(wù)。選擇需要審計的應(yīng)用程序根目錄,在Additional Options選項中選擇使用的規(guī)則庫,在Audit Guide提出的四個問題中選擇對應(yīng)的選項,點擊Run Scan即可。

工具推薦:三款自動化代碼審計工具

工具推薦:三款自動化代碼審計工具

 

審計的結(jié)果由5個面板來呈現(xiàn)。

工具推薦:三款自動化代碼審計工具

 

我們來看跟RIPS審計結(jié)果同樣的SQL注入問題。點擊左側(cè)問題,源代碼面板自動定位到出現(xiàn)問題的源代碼行。

工具推薦:三款自動化代碼審計工具

 

分析跟蹤面板顯示了詳細的數(shù)據(jù)走向。從COOKIE讀入->賦值給變量$procookie->帶入cheakCookie()函數(shù)->賦值給變量$sql->帶入mysqli_query()函數(shù)執(zhí)行。

工具推薦:三款自動化代碼審計工具

 

左側(cè)每一個圖標的含義在使用手冊上可以查到。點擊其中每一行,自動定位到對應(yīng)的源代碼行。同時在問題審計面板的Diagram中,有更為形象的數(shù)據(jù)流向圖,直觀展示了漏洞產(chǎn)生的原因。

工具推薦:三款自動化代碼審計工具

 

審計面板的其他標簽詳細說明了漏洞信息,相對于RIPS這種開源軟件,F(xiàn)ortify SCA審計結(jié)果展示更為詳細。Tools->Generate Report功能還可以根據(jù)用戶的需求生成審計結(jié)果的報告。

0×05 總結(jié)

VCG與其他兩款工具不同,它是一個簡潔的風(fēng)險函數(shù)掃描定位工具,基于字典實現(xiàn)掃描功能。而RIPS和Fortify SCA則是靜態(tài)深度分析源代碼漏洞的利器,它們使用各自的技術(shù)對應(yīng)用程序執(zhí)行過程進行了追蹤分析,做了深層次的漏洞挖掘工作。RIPS易于部署和使用,可以作為簡單應(yīng)用功能的自動化審計分析工具。而Fortify SCA功能更為強大,可以勝任較為復(fù)雜的應(yīng)用自動化分析。在實際審計工作中可以結(jié)合使用兩種工具,取長補短。

自動化的靜態(tài)代碼審計工具可以節(jié)省代碼審計的人力成本,是提高代碼審計效率的重要手段。然而需要注意的是,自動化工具并非是完全智能的,跟所有的漏洞掃描工具一樣,誤報率的存在仍然是一個現(xiàn)實的問題。因此,報表中顯示的漏洞需要審計人員進一步確認是否真的存在。此外,自動化工具還有一個很大的局限性:它僅能夠?qū)ΤR姷腤eb應(yīng)用漏洞類型進行挖掘,對于Web 2.0時代興起的業(yè)務(wù)邏輯漏洞挖掘可以說是束手無力。所以,對于有經(jīng)驗的代碼審計人員來說,審計工具起到的僅僅是輔助作用,他們會在利用工具的基礎(chǔ)上結(jié)合自己經(jīng)驗挖掘出更深層次的漏洞。

責(zé)任編輯:藍雨淚 來源: FreeBuf
相關(guān)推薦

2017-06-27 16:10:34

源代碼工具對比

2017-06-28 13:40:49

信息安全源代碼安全

2021-03-23 08:00:00

工具開發(fā)審查

2019-10-28 15:14:53

Python腳本語言Java

2022-05-09 09:43:33

物聯(lián)網(wǎng)

2016-02-23 11:37:38

2022-12-01 09:12:49

CodeQL自動化審計

2011-03-23 15:34:57

數(shù)據(jù)庫審計

2020-10-16 16:20:38

LynisLinux審計工具

2022-02-21 11:24:14

代碼工具開發(fā)

2021-03-30 09:00:00

工具自動化開發(fā)

2011-11-21 13:27:57

HTML 5

2022-07-05 14:00:49

編排工具自動化

2013-07-02 10:45:38

2010-12-27 14:45:27

2013-11-15 15:42:44

FruityWifi無線安全審計安全工具

2021-09-07 09:00:00

開發(fā)測試工具

2021-09-15 18:05:32

用友數(shù)智化生態(tài)效率工具

2016-03-31 15:25:09

2014-04-25 11:12:16

BootstrapBootstrap工具
點贊
收藏

51CTO技術(shù)棧公眾號