一、常見漏洞
1、 高危漏洞
XSS跨站腳本漏洞:由于程序員在編寫程序時對用戶提交的數(shù)據(jù)沒有做充分的合規(guī)性判斷和進行HTML編碼處理,直接把數(shù)據(jù)輸出到瀏覽器客戶端,這樣導(dǎo)致用戶可以提交一些特意構(gòu)造的腳本代碼或HTML標簽代碼,并在輸出到瀏覽器時被執(zhí)行。
SQL注入漏洞:通過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務(wù)器執(zhí)行惡意的SQL命令。
具體來說,它是利用現(xiàn)有應(yīng)用程序,將(惡意)的SQL命令注入到后臺數(shù)據(jù)庫引擎執(zhí)行的能力,它可以通過在Web表單中輸入(惡意)SQL語句得到一個存在安全漏洞的網(wǎng)站上的數(shù)據(jù)庫,而不是按照設(shè)計者意圖去執(zhí)行SQL語句。
網(wǎng)站存在備份文件:網(wǎng)站的使用過程中,往往需要對網(wǎng)站中的文件進行修改、升級。此時就需要對網(wǎng)站整站或者其中某一頁面進行備份。當備份文件或者修改過程中的緩存文件因為各種原因而被留在網(wǎng)站web目錄下,而該目錄又沒有設(shè)置訪問權(quán)限時,便有可能導(dǎo)致備份文件或者編輯器的緩存文件被下載,導(dǎo)致敏感信息泄露,給服務(wù)器的安全埋下隱患。
2、 中危漏洞
目錄遍歷漏洞:網(wǎng)站存在配置缺陷,存在目錄可瀏覽漏洞,這會導(dǎo)致網(wǎng)站很多**文件與目錄泄露,比如數(shù)據(jù)庫備份文件、配置文件等,攻擊者利用該信息可以更容易得到網(wǎng)站權(quán)限,導(dǎo)致網(wǎng)站被黑。
文件上傳漏洞:沒有對文件上傳限制, 可能會被上傳可執(zhí)行文件,或腳本文件進一步導(dǎo)致服務(wù)器淪陷。
敏感信息泄露:系統(tǒng)暴露內(nèi)部信息,如:網(wǎng)站的絕對路徑、網(wǎng)頁源代碼、SQL語句、中間件版本、程序異常等信息。
默認口令、弱口令:因為默認口令、弱口令很容易讓人猜到。
3、低危漏洞
異常錯誤處理:當錯誤發(fā)生時,向用戶提交錯誤提示是很正常的事情,但是如果提交的錯誤提示中包含了太多的內(nèi)容,就有助于攻擊者更全面了解網(wǎng)站的架構(gòu),為攻擊者入侵網(wǎng)站提供幫助。
后臺地址泄露:網(wǎng)站利用一些開源的軟件做后臺,并且沒有修改后臺登錄地址,攻擊者經(jīng)常使用這個地址進行網(wǎng)站的后臺登陸,比如弱密碼、表單繞過、暴力**等,從而得到網(wǎng)站的權(quán)限。
Flash標簽配置不當漏洞:網(wǎng)頁在引入flash的時候,會通過object/embed標簽,在設(shè)置的時候,如果一些屬性配置不當,會帶來安全問題:
-
allowScriptAccess:是否允許flash訪問瀏覽器腳本。如果不對不信任的flash限制,默認會允許調(diào)用瀏覽器腳本,產(chǎn)生XSS漏洞。
always(默認值),總是允許;sameDomain,同域允許;never,不允許
-
allowNetworking:是否允許flash訪問ActionScript中的網(wǎng)絡(luò)API。如果不對不信任的flash限制,會帶來flash彈窗、CSRF等問題。
all,允許所有功能,會帶來flash彈窗危害;internal,可以向外發(fā)送請求/加載網(wǎng)頁;none,無法進行任何網(wǎng)絡(luò)相關(guān)動作(業(yè)務(wù)正常功能可能無法使用)
網(wǎng)站存在敏感目錄:網(wǎng)站存在敏感目錄,例如 /upload /database /bak,該信息有助于攻擊者更全面了解網(wǎng)站的架構(gòu),為攻擊者入侵網(wǎng)站提供幫助。
二、漏洞解決方案
1、SQL注入漏洞
1.過濾掉一些常見的數(shù)據(jù)庫操作關(guān)鍵字:select,insert,update,delete,and,*等;
2.所有的查詢語句都使用數(shù)據(jù)庫提供的參數(shù)化查詢接口,即在構(gòu)造動態(tài)SQL語句時,一定要使用類安全(type-safe)的參數(shù)加碼機制。
3.對進入數(shù)據(jù)庫的特殊字符('"<>&*;等)進行轉(zhuǎn)義處理,或編碼轉(zhuǎn)換。
4.確認每種數(shù)據(jù)的類型和數(shù)據(jù)長度,比如數(shù)字型的數(shù)據(jù)就必須是數(shù)字,數(shù)據(jù)庫中的存儲字段必須對應(yīng)為int型。
5.控制錯誤信息:關(guān)閉錯誤提示信息,將錯誤信息寫到系統(tǒng)日志,防止攻擊者利用這些錯誤信息進行一些判斷。
6.鎖定你的數(shù)據(jù)庫的安全,只給訪問數(shù)據(jù)庫的web應(yīng)用功能所需的最低的權(quán)限。
2、XSS跨站腳本漏洞
1.假定所有輸入都是可疑的,必須對所有輸入中的script、iframe等字樣進行嚴格的檢查。
2.盡量采用POST而非GET提交表單。
3.不要僅僅在客戶端做數(shù)據(jù)的驗證與過濾,關(guān)鍵的過濾步驟在服務(wù)端進行。
4.將單步流程改為多步,在多步流程中引入效驗碼。
每一步都產(chǎn)生一個驗證碼作為hidden表單元素嵌在中間頁面,下一步操作時這個驗證碼被提交到服務(wù)器,服務(wù)器檢查這個驗證碼是否匹配。這為攻擊者增加了麻煩,而且攻擊者必須在多步流程中拿到上一步產(chǎn)生的效驗碼才有可能發(fā)起下一步請求,這幾乎無法做到的。
5.只在允許anonymous訪問的地方使用動態(tài)的javascript。
6.引入用戶交互,簡單的一個看圖識數(shù)可以堵住幾乎所有的非預(yù)期特權(quán)操作。
3、目錄遍歷漏洞:
1.關(guān)閉Web容器(如IIS/Apache等)的目錄瀏覽功能,比如IIS中關(guān)閉目錄瀏覽功能:在IIS的網(wǎng)站屬性中,勾去“目錄瀏覽”選項;
2.在防范遍歷路徑漏洞的方法中,最有效的是權(quán)限的控制,謹慎的處理向文件系統(tǒng)API傳遞過來的參數(shù)路徑。
3.數(shù)據(jù)凈化,對網(wǎng)站用戶提交過來的文件名進行硬編碼或者統(tǒng)一編碼,對文件后綴進行白名單控制,對包含了惡意的符號或者空字節(jié)進行拒絕。
4、后臺地址泄露:
1.配置好后臺登錄地址的訪問權(quán)限,比如只允許某個IP或IP段的用戶訪問;
2.將后臺登錄地址隱藏,改個不容易猜到的路徑。
3.把網(wǎng)站系統(tǒng)后臺與網(wǎng)站前端頁面分離部署,后臺系統(tǒng)部署在內(nèi)網(wǎng)。
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » 網(wǎng)站檢測常見的漏洞及解決方案