Web基礎(chǔ)滲透與防護(hù)(第2版)課件 項(xiàng)目十一代碼審計(jì)_第1頁(yè)
Web基礎(chǔ)滲透與防護(hù)(第2版)課件 項(xiàng)目十一代碼審計(jì)_第2頁(yè)
Web基礎(chǔ)滲透與防護(hù)(第2版)課件 項(xiàng)目十一代碼審計(jì)_第3頁(yè)
Web基礎(chǔ)滲透與防護(hù)(第2版)課件 項(xiàng)目十一代碼審計(jì)_第4頁(yè)
Web基礎(chǔ)滲透與防護(hù)(第2版)課件 項(xiàng)目十一代碼審計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

項(xiàng)目十一代碼審計(jì)代碼審計(jì)概述常見(jiàn)代碼審計(jì)方法代碼審計(jì)具體案例代碼審計(jì)(Codeaudit)是對(duì)編程項(xiàng)目中源代碼的全面分析,旨在發(fā)現(xiàn)錯(cuò)誤、安全漏洞或是否違反編程約定。它是防御性編程范例的一個(gè)組成部分,目的是在軟件發(fā)布之前減少錯(cuò)?誤。

代碼審計(jì)概述

代碼審計(jì)概述

代碼審計(jì)是通過(guò)自動(dòng)化工具或人工審查的方式,對(duì)程序源代碼逐條進(jìn)行檢查和分析,以發(fā)現(xiàn)源代碼缺陷引發(fā)的安全漏洞,并提出代碼修訂措施和建?議。代碼審計(jì)對(duì)象包括對(duì)Windows和Linux系統(tǒng)環(huán)境下的以下語(yǔ)言進(jìn)行審核:java、C、C#、ASP、PHP、JSP、.NET。審計(jì)內(nèi)容包括以下方面

代碼審計(jì)概述

1、前后臺(tái)分離的運(yùn)行架構(gòu);2、WEB服務(wù)的目錄權(quán)限分類3、認(rèn)證會(huì)話與應(yīng)用平臺(tái)的結(jié)合;4、數(shù)據(jù)庫(kù)的配置規(guī)范;5、SQL語(yǔ)句的編寫規(guī)范;6、WEB服務(wù)的權(quán)限配置;7、對(duì)抗爬蟲引擎的處理措施。審核軟件時(shí),應(yīng)對(duì)每個(gè)關(guān)鍵組件進(jìn)行單獨(dú)審核,并與整個(gè)程序一起進(jìn)行審核。首先搜索高風(fēng)險(xiǎn)漏洞并解決低風(fēng)險(xiǎn)漏洞。高風(fēng)險(xiǎn)和低風(fēng)險(xiǎn)之間的漏洞通常存在,具體取決于具體情況以及所使用的源代碼的使用方式。應(yīng)用程序滲透測(cè)試,試圖通過(guò)在可能的訪問(wèn)點(diǎn)上啟動(dòng)盡可能多的已知攻擊技術(shù)來(lái)嘗試降低軟件中的漏洞,以試圖關(guān)閉應(yīng)用程序。這是一種常見(jiàn)的審計(jì)方法,可用于查明是否存在任何特定漏洞,而不是源代碼中的漏洞

代碼審計(jì)概述

由于使用以下原因,可能存在一些常見(jiàn)的高風(fēng)險(xiǎn)漏洞:非邊界檢查函數(shù)(例如,strcpy,sprintf,vsprintf和sscanf)可能導(dǎo)致緩沖區(qū)溢出漏洞可能干擾后續(xù)邊界檢查的緩沖區(qū)的指針操作,例如:if((bytesread=net_read(buf,len))>0)buf+=bytesread;調(diào)用像execve(),執(zhí)行管道,system()和類似的東西,尤其是在使用非靜態(tài)參數(shù)調(diào)用時(shí)輸入驗(yàn)證,例如(在SQL中):statement:=“SELECT*FROMusersWHEREname='”+userName+“';”是一個(gè)SQL注入漏洞的示例。文件包含功能,例如(在PHP中):include($page。'。php');是遠(yuǎn)程文件包含漏洞的示例。對(duì)于可能與惡意代碼鏈接的庫(kù),返回對(duì)內(nèi)部可變數(shù)據(jù)結(jié)構(gòu)(記錄,數(shù)組)的引用。惡意代碼可能會(huì)嘗試修改結(jié)構(gòu)或保留引用以觀察將來(lái)的更改。

代碼審計(jì)概述

以下是審計(jì)代碼時(shí)應(yīng)該找到的低風(fēng)險(xiǎn)漏洞列表,但不會(huì)產(chǎn)生高風(fēng)險(xiǎn)情況:1、客戶端代碼漏洞不影響服務(wù)器端(例如,跨站點(diǎn)腳本);2、用戶名枚舉;3、目錄遍歷(在Web應(yīng)用程序中)。

源代碼審計(jì)工具通常會(huì)查找常見(jiàn)漏洞,僅適用于特定的編程語(yǔ)言。這種自動(dòng)化工具可用于節(jié)省時(shí)間,但不應(yīng)依賴于深入審計(jì)。建議將這些工具作為基于政策的方法的一部分。如果設(shè)置為低閾值,則大多數(shù)軟件審計(jì)工具會(huì)檢測(cè)到許多漏洞,尤其是在以前未審核過(guò)代碼的情況下。但是,這些警報(bào)的實(shí)際重要性還取決于應(yīng)用程序的使用方式??赡芘c惡意代碼鏈接的庫(kù)(并且必須對(duì)其免疫)具有非常嚴(yán)格的要求,例如克隆所有返回的數(shù)據(jù)結(jié)構(gòu),因?yàn)橛幸馄茐南到y(tǒng)的嘗試是預(yù)期的。只能暴露于惡意輸入(如Web服務(wù)器后端)的程序必須首先關(guān)心此輸入(緩沖區(qū)溢出,SQL注入等)。對(duì)于僅受保護(hù)基礎(chǔ)結(jié)構(gòu)中的授權(quán)用戶內(nèi)部使用的程序,可能永遠(yuǎn)不會(huì)發(fā)生此類攻擊。

常見(jiàn)代碼審計(jì)方法1、代碼審計(jì)環(huán)境準(zhǔn)備(1)本地測(cè)試環(huán)境:php+mysql環(huán)境。如:phpstudy,wamp等;(2)文檔編輯器:sublimetext2,UltraEdit,notepad++;(3)瀏覽器:Firefox。(4)Firefox?插件:FoxyProxy、Hackbar、ModifyHeaders、UseAgentSwitcher、Firebug。ConvertToUTF8;(5)其他工具:BurpSuite、XDebug、vMysqlMonitoring、Web?編碼轉(zhuǎn)換工?具。

常見(jiàn)代碼審計(jì)方法2、審計(jì)前的準(zhǔn)備工作(1)獲取源碼:大多數(shù)PHP程序都是開(kāi)源的、找到官網(wǎng)下載最新的源碼包即可。(2)安裝網(wǎng)站:在本地搭建網(wǎng)站,一邊審計(jì)一邊調(diào)試。實(shí)時(shí)跟蹤各種動(dòng)態(tài)變化,把握大局(3)網(wǎng)站結(jié)構(gòu):瀏覽源碼文件夾,了解程序的大致目錄。(4)入口文件:index.php、admin.php文件一般是整個(gè)程序的入口,從中可以知道:程序的架構(gòu)運(yùn)行流程包含哪些配置文件包含哪些過(guò)濾文件和安全過(guò)濾文件了解程序的業(yè)務(wù)邏輯常見(jiàn)代碼審計(jì)方法(5)配置文件:一般類似config.php等文件,保存一些數(shù)據(jù)庫(kù)相關(guān)信息、程序的一些信息。先看數(shù)據(jù)庫(kù)編碼,如果是gbk可能存在寬字節(jié)注入。若變量的值用雙引號(hào)、則可能存在雙引號(hào)解析代碼執(zhí)行的問(wèn)題(6)過(guò)濾功能:通過(guò)詳讀公共函數(shù)文件和安全過(guò)濾文件等文件,清晰掌握:用戶輸入的數(shù)據(jù),哪些被過(guò)濾,哪些無(wú)過(guò)濾如何過(guò)濾。在哪里被過(guò)濾了?如何過(guò)濾,過(guò)濾的方式是替換還是正則,有沒(méi)有GPC,有沒(méi)有使用addslasher()處理?能否繞過(guò)過(guò)濾的數(shù)據(jù)。(7)網(wǎng)站目錄結(jié)構(gòu):主目錄

模塊目錄

插件目錄

上傳目錄模板目錄

數(shù)據(jù)目錄

配置目錄

配置文件公共函數(shù)文件安全過(guò)濾文件數(shù)據(jù)庫(kù)結(jié)構(gòu)入口文件常見(jiàn)代碼審計(jì)方法3、審計(jì)方法(1)通讀全文法通讀全文法是最麻煩也最全面的審計(jì)方法。企業(yè)對(duì)自身產(chǎn)品的審計(jì)通常采用此方法??梢酝ㄟ^(guò)這種方法把握大局,了解程序整體結(jié)構(gòu),再通過(guò)入口文件對(duì)各功能進(jìn)行審?計(jì)。(2)敏感函數(shù)參數(shù)回溯法這種方法是根據(jù)敏感函數(shù),逆向追蹤參數(shù)傳遞的過(guò)程。這是最高效、最常用的方法。大多數(shù)漏洞是函數(shù)使用不當(dāng)導(dǎo)致的。只要找到這些函數(shù),就可以快速發(fā)現(xiàn)漏?洞。這里推薦使用?Seay?源代碼審計(jì)系統(tǒng),它主要利用正則算法匹配一些高危函數(shù)、關(guān)鍵函數(shù)及敏感關(guān)鍵?字。常見(jiàn)代碼審計(jì)方法一款神器——Seay源代碼審計(jì)系統(tǒng),主要是利用正則匹配一些高危函數(shù)、關(guān)鍵函數(shù)以及敏感關(guān)鍵字。然后,我們就可以分析判斷敏感函數(shù)的上下文,追蹤參數(shù)源頭。嘗試控制可控的參數(shù)變量。(3)定向功能分析法定向功能分析法:根據(jù)程序的業(yè)務(wù)邏輯審計(jì)。首先是用瀏覽器逐個(gè)訪問(wèn)瀏覽,看看這套程序有那些功能。根據(jù)相關(guān)功能,大概推測(cè)可能存在那些漏洞。常見(jiàn)功能漏洞:包括但不限于:

程序初始安裝

站點(diǎn)信息泄露

文件上傳

文件管理

登錄認(rèn)證

數(shù)據(jù)庫(kù)備份恢復(fù)

找回密碼

驗(yàn)證碼實(shí)際應(yīng)用中,通常是一套組合拳,要靈活應(yīng)用。一般先把握大局,考慮是否通讀全文,再根據(jù)定向功能法針對(duì)每一項(xiàng)功能進(jìn)行審計(jì);最后,敏感函數(shù)參數(shù)回溯。代碼審計(jì)具體案例1、任意文件刪除漏洞實(shí)例URL:/s/DxcnldeS8UDyEJvsf0s11Q2、EasySNS_V1.6遠(yuǎn)程圖片本地化導(dǎo)致

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論