日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
工具推薦:三款自動(dòng)化代碼審計(jì)工具

0×01 簡(jiǎn)介

創(chuàng)新互聯(lián)建站專(zhuān)注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、丹鳳網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、丹鳳網(wǎng)絡(luò)營(yíng)銷(xiāo)、丹鳳企業(yè)策劃、丹鳳品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供丹鳳建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com

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

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

RIPS是一款開(kāi)源的,具有較強(qiáng)漏洞挖掘能力的自動(dòng)化代碼審計(jì)工具。它使用PHP語(yǔ)言編寫(xiě)的,用于靜態(tài)審計(jì)PHP代碼的安全性。

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

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

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

0×02 RIPS

RIPS的主要功能特點(diǎn)如下:

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

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

3) 標(biāo)記存在漏洞的代碼行。

4) 對(duì)變量高亮顯示。

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

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

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

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

9) 僅用幾個(gè)鼠標(biāo)點(diǎn)擊就可以使用CURL創(chuàng)建針對(duì)檢測(cè)到漏洞的EXP實(shí)例。

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

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

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

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

14) 正則搜索功能。

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

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

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

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

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

現(xiàn)在以一個(gè)簡(jiǎn)單的實(shí)例來(lái)說(shuō)明RIPS的使用方法,下載鏈接如下:

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

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

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

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

讓我們來(lái)看其中某一個(gè)漏洞詳情,init.php源代碼中存在SQL注入漏洞。

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

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

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

將POST包中Cookie中的count_admin改為“’ or 1=1 #”,即可繞過(guò)cookie校驗(yàn),直接進(jìn)入后臺(tái)。

0×03 VCG

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

VCG的下載鏈接如下:

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

雙擊下載的msi文件進(jìn)行安裝即可。

在Settings->Options->ConfigFiles選項(xiàng)中可以對(duì)每種語(yǔ)言的掃描配置文件進(jìn)行編輯。

點(diǎn)擊Settings選項(xiàng),選擇掃描的目標(biāo)語(yǔ)言類(lèi)型。點(diǎn)擊File->New Target Directory選項(xiàng),選擇需要掃描的源代碼文件存放目錄,我們選擇上文提到的應(yīng)用實(shí)例存放目錄。點(diǎn)擊Scan->Full Scan選項(xiàng),掃描開(kāi)始。

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

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

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

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

0×04 Fortify SCA

Fortify SCA是一款商業(yè)軟件,價(jià)格較為昂貴,因此我只找到了一個(gè)早期的版本進(jìn)行試用。因?yàn)槭巧虡I(yè)軟件,它有詳細(xì)的使用文檔,查閱非常方便。它支持一些IDE的插件功能,在安裝的時(shí)候會(huì)有選項(xiàng)。

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

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

審計(jì)的結(jié)果由5個(gè)面板來(lái)呈現(xiàn)。

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

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

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

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

0×05 總結(jié)

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

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


分享文章:工具推薦:三款自動(dòng)化代碼審計(jì)工具
文章地址:http://www.5511xx.com/article/dpcoiij.html