一、什么是漏洞
漏洞是指一個系統(tǒng)存在的弱點或缺陷,系統(tǒng)對特定威脅攻擊或危險事件的敏感性,或進行攻擊威脅的可能性。漏洞可能來自應用軟件或操作系統(tǒng)設計時的缺陷或編碼時產生的錯誤,也可能來自業(yè)務在交互處理過程中的設計缺陷或邏輯流程上的不合理之處。這些缺陷、錯誤或不合理之處可能被有意、無意地利用,從而對一個組織的資產或運行造成不利影響,如信息系統(tǒng)被攻擊或控制、重要資料被竊取、用戶數(shù)據(jù)被篡改、系統(tǒng)被作為入侵其他主機系統(tǒng)的跳板等。從目前發(fā)現(xiàn)的漏洞來看,應用軟件中的漏洞遠遠多于操作系統(tǒng)中的漏洞,特別是 Web應用系統(tǒng)中的漏洞更是占信息系統(tǒng)漏洞中的絕大多數(shù)。
二、Web漏洞的分類
1、SQL注入
SQL注入就是通過把SQL命令插入到Web表單,遞交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執(zhí)行惡意的SQL命令的目的。
2、XSS(跨站腳本攻擊)
跨站腳本攻擊(Cross Site Scripting,縮寫為XSS),為了不與層疊樣式表(Cascading Style Sheets)的縮寫CSS混淆,故將跨站腳本攻擊縮寫為XSS。XSS是一種經常出現(xiàn)在Web應用中的計算機安全漏洞,其允許惡意Web用戶將代碼植入到提供給其他用戶使用的頁面中,這些代碼包括HTML代碼和客戶端腳本。攻擊者利用XSS漏洞進行非法訪問控制——例如同源策略(Same Origin Policy)。這種類型的漏洞由于被黑客用來編寫危害性更大的網(wǎng)絡釣魚(Phishing)攻擊,所以廣為人知。對于跨站腳本攻擊,黑客界的共識是:跨站腳本攻擊是新型的“緩沖區(qū)溢出攻擊”,而JavaScript是新型的“ShellCode”。
3、文件上傳
文件上傳漏洞是指用戶上傳一個可執(zhí)行的腳本文件,并通過此腳本文件獲得了執(zhí)行服務器端命令的能力。這種攻擊方式是最為直接和有效的,有時幾乎不具有技術門檻。
“文件上傳”本身沒有問題,有問題的是文件上傳之后服務器怎么處理、解釋文件。如果服務器的處理邏輯做得不夠安全,則會有嚴重的不安全隱患。
4、文件下載
可以下載網(wǎng)站所有的信息數(shù)據(jù),包括源碼、網(wǎng)站的配置文件等信息。
5、目錄遍歷
如果Web設計者設計的Web內容沒有恰當?shù)脑L問控制,允許HTTP遍歷,攻擊者就可以訪問受限的目錄,并可以在Web根目錄以外執(zhí)行命令。