Web基礎滲透與防護(第2版)課件 項目十一代碼審計_第1頁
Web基礎滲透與防護(第2版)課件 項目十一代碼審計_第2頁
Web基礎滲透與防護(第2版)課件 項目十一代碼審計_第3頁
Web基礎滲透與防護(第2版)課件 項目十一代碼審計_第4頁
Web基礎滲透與防護(第2版)課件 項目十一代碼審計_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

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

代碼審計概述

代碼審計概述

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

代碼審計概述

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

代碼審計概述

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

代碼審計概述

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

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

常見代碼審計方法1、代碼審計環(huán)境準備(1)本地測試環(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)換工?具。

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

模塊目錄

插件目錄

上傳目錄模板目錄

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

配置目錄

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

程序初始安裝

站點信息泄露

文件上傳

文件管理

登錄認證

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

找回密碼

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

溫馨提示

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

評論

0/150

提交評論