百度站長平臺今日測試漏洞檢測工具,并在資料區(qū)增加了漏洞監(jiān)測工具的幫助文件。關(guān)于漏洞類型說明、漏洞危害、及漏洞解決方案做出如下解釋。
一、漏洞類型說明
1.對外開放服務(wù)
對外開放服務(wù)是指網(wǎng)站服務(wù)器對外提供的各項服務(wù),每項服務(wù)對應(yīng)著一個端口號。常見的有:HTTP服務(wù)常用端口號為80/8080,F(xiàn)TP服務(wù)常用端口號為21,Telnet服務(wù)常用端口號為23。
2.SQL注入漏洞
SQL注入漏洞,是發(fā)生在應(yīng)用程序數(shù)據(jù)庫層面上的安全漏洞。在設(shè)計不良的程序中,由于忽略了對輸入字符串中夾帶SQL指令的檢查,使得夾帶進去的SQL指令被數(shù)據(jù)庫誤認為是合法的SQL指令而運行,從而使數(shù)據(jù)庫受到攻擊,會導(dǎo)致網(wǎng)站數(shù)據(jù)被竊取、更改和刪除。
3.XSS跨站腳本漏洞
XSS跨站腳本漏洞發(fā)生在客戶端,可被用于進行竊取隱私、釣魚欺騙、偷取密碼、傳播惡意代碼等攻擊行為。攻擊者將對客戶端有危害的代碼放到服務(wù)器上作為一個網(wǎng)頁內(nèi)容,網(wǎng)站用戶瀏覽此網(wǎng)頁時,代碼會注入到用戶瀏覽器中執(zhí)行,使用戶受到攻擊。一般而言,XSS跨站腳本漏洞分為三類:反射型跨站腳本漏洞、存儲型跨站腳本漏洞和DOM型跨站腳本漏洞。
4.信息泄露漏洞
CGI漏洞
CGI是公用網(wǎng)關(guān)接口(Common Gateway Inerface)的簡稱,并不特指一種語言。CGI漏洞包括:Web服務(wù)器軟件編寫中的BUG和服務(wù)器配置的錯誤。CGI漏洞分為以下幾類:配置錯誤、邊界條件錯誤、訪問驗證錯誤、來源驗證錯誤、輸入驗證錯誤、策略錯誤、使用錯誤等。
內(nèi)容泄露漏洞
內(nèi)容泄露漏洞,是指網(wǎng)站內(nèi)容中出現(xiàn)比較敏感的可能危害網(wǎng)站安全的數(shù)據(jù),會增加攻擊者的攻擊手段和攻擊范圍。
文件泄露漏洞
文件泄露漏洞,是由于服務(wù)器配置或程序設(shè)計缺陷,而繞過目錄或權(quán)限的限制,使用戶可以訪問到無權(quán)訪問的文件,包括但不限于:各類配置文件,操作系統(tǒng)敏感文件,網(wǎng)站程序源碼,數(shù)據(jù)庫文件,備份文件,系統(tǒng)日志等。
5.HTTP方法
HTTP方法是指,使用HTTP協(xié)議來請求網(wǎng)站頁面時所使用到的請求方法。常見的HTTP方法有:
GET:請求指定的頁面信息,并返回實體主體。
HEAD:只請求頁面的首部。
POST:請求服務(wù)器接受所指定的文檔作為對所標識的URI的新的從屬實體。
PUT:從客戶端向服務(wù)器傳送的數(shù)據(jù)取代指定的文檔的內(nèi)容。
DELETE:請求服務(wù)器刪除指定的頁面。
OPTIONS:允許客戶端查看服務(wù)器的性能。
TRACE:請求服務(wù)器在響應(yīng)中的實體主體部分返回所得到的內(nèi)容。
二、漏洞的危害
1.對外開放服務(wù)
黑客必須借由網(wǎng)站服務(wù)器的對方開放服務(wù),才能展開攻擊行為。
若網(wǎng)站服務(wù)器存在不必要的對外服務(wù),會提高網(wǎng)站服務(wù)器的安全風險,增加黑客成功入侵的機率。
2.SQL注入漏洞
SQL注入漏洞的危害不僅體現(xiàn)在數(shù)據(jù)庫層面,還有可能危及承載數(shù)據(jù)庫的操作系統(tǒng);如果SQL注入被用來掛馬,還可能用來傳播惡意軟件等,這些危害包括但不限于:
數(shù)據(jù)庫信息泄漏:數(shù)據(jù)庫中存儲的用戶隱私信息泄露。
網(wǎng)頁篡改:通過操作數(shù)據(jù)庫對特定網(wǎng)頁進行篡改。
網(wǎng)站被掛馬,傳播惡意軟件:修改數(shù)據(jù)庫一些字段的值,嵌入網(wǎng)馬鏈接,進行掛馬攻擊。
數(shù)據(jù)庫被惡意操作:數(shù)據(jù)庫服務(wù)器被攻擊,數(shù)據(jù)庫的系統(tǒng)管理員帳戶被竄改。
服務(wù)器被遠程控制,被安裝后門:經(jīng)由數(shù)據(jù)庫服務(wù)器提供的操作系統(tǒng)支持,讓黑客得以修改或控制操作系統(tǒng)。
破壞硬盤數(shù)據(jù),癱瘓全系統(tǒng)。
3.XSS跨站腳本漏洞
XSS跨站腳本漏洞的危害包括但不限于:
釣魚欺騙:最典型的就是利用目標網(wǎng)站的反射型跨站腳本漏洞將目標網(wǎng)站重定向到釣魚網(wǎng)站,或者注入釣魚Javascript以監(jiān)控目標網(wǎng)站的表單輸入,甚至發(fā)起基于DHTML更高級的釣魚攻擊方式。
網(wǎng)站掛馬:跨站后利用IFrame嵌入隱藏的惡意網(wǎng)站或者將被攻擊者定向到惡意網(wǎng)站上,或者彈出惡意網(wǎng)站窗口等方式都可以進行掛馬攻擊。
身份盜用:Cookie是用戶對于特定網(wǎng)站的身份驗證標志,XSS可以盜取用戶的Cookie,從而利用該Cookie獲取用戶對該網(wǎng)站的操作權(quán)限。如果一個網(wǎng)站管理員用戶Cookie被竊取,將會對網(wǎng)站引發(fā)巨大的危害。
盜取網(wǎng)站用戶信息:當能夠竊取到用戶Cookie從而獲取到用戶身份時,攻擊者可以獲取到用戶對網(wǎng)站的操作權(quán)限,從而查看用戶隱私信息。
垃圾信息發(fā)送:比如在SNS社區(qū)中,利用XSS漏洞借用被攻擊者的身份發(fā)送大量的垃圾信息給特定的目標群體。
劫持用戶Web行為:一些高級的XSS攻擊甚至可以劫持用戶的Web行為,監(jiān)視用戶的瀏覽歷史,發(fā)送與接收的數(shù)據(jù)等等。
XSS蠕蟲:XSS 蠕蟲可以用來打廣告、刷流量、掛馬、惡作劇、破壞網(wǎng)上數(shù)據(jù)、實施DDoS攻擊等。
4.信息泄露漏洞
CGI漏洞
CGI漏洞大多分為以下幾種類型:信息泄露、命令執(zhí)行和溢出,因此危害的嚴重程度不一。信息泄露會暴露服務(wù)器的敏感信息,使攻擊者能夠通過泄露的信息進行進一步入侵;命令執(zhí)行會對服務(wù)器的安全造成直接的影響,如執(zhí)行任意系統(tǒng)命令;溢出往往能夠讓攻擊者直接控制目標服務(wù)器,危害重大。
內(nèi)容泄露漏洞
內(nèi)容泄露漏洞,會被攻擊者利用導(dǎo)致其它類型的攻擊,危害包括但不局限于:
內(nèi)網(wǎng)ip泄露:可能會使攻擊者滲透進入內(nèi)網(wǎng)產(chǎn)生更大危害。
數(shù)據(jù)庫信息泄露:讓攻擊者知道數(shù)據(jù)庫類型,會降低攻擊難度。
網(wǎng)站調(diào)試信息泄露:可能讓攻擊者知道網(wǎng)站使用的編程語言,使用的框架等,降低攻擊難度。
網(wǎng)站目錄結(jié)構(gòu)泄露:攻擊者容易發(fā)現(xiàn)敏感文件。
絕對路徑泄露:某些攻擊手段依賴網(wǎng)站的絕對路徑,比如用SQL注入寫webshell。
電子郵件泄露:郵件泄露可能會被垃圾郵件騷擾,還可能被攻擊者利用社會工程學手段獲取更多信息,擴大危害。
文件泄露漏洞
敏感文件的泄露可能會導(dǎo)致重要信息的泄露,進而擴大安全威脅,這些危害包括但不局限于:
帳號密碼泄漏:可能導(dǎo)致攻擊者直接操作網(wǎng)站后臺或數(shù)據(jù)庫,進行一些可能有危害的操作。
源碼泄露:可能會讓攻擊者從源碼中分析出更多其它的漏洞,如SQL注入,文件上傳,代碼執(zhí)行等。
系統(tǒng)用戶泄露:可能會方便暴力破解系統(tǒng)密碼。
5.HTTP方法
若網(wǎng)站服務(wù)器支持不必要的HTTP方法,會增加黑客入侵網(wǎng)站服務(wù)器的手段和途徑。例如:若網(wǎng)站服務(wù)器支持PUT方法且允許匿名訪問,則黑客可以發(fā)布未經(jīng)授權(quán)的頁面,或者上傳二進制文件并誘使服務(wù)器執(zhí)行,從而獲取網(wǎng)站服務(wù)器的控制權(quán)。
三、漏洞解決方案
1.對外開放服務(wù)
關(guān)閉不必要的對外開放服務(wù),以及相應(yīng)端口。
2.SQL注入漏洞
解決SQL注入漏洞的關(guān)鍵是對所有來自用戶輸入的數(shù)據(jù)進行嚴格檢查、對數(shù)據(jù)庫配置使用最小權(quán)限原則。經(jīng)常使用的解決方案有:
所有的查詢語句都使用數(shù)據(jù)庫提供的參數(shù)化查詢接口,參數(shù)化的語句使用參數(shù)而不是將用戶輸入變量嵌入到SQL語句中。
對進入數(shù)據(jù)庫的特殊字符('"\<>&*;等)進行轉(zhuǎn)義處理,或編碼轉(zhuǎn)換。
確認每種數(shù)據(jù)的類型,比如數(shù)字型的數(shù)據(jù)就必須是數(shù)字,數(shù)據(jù)庫中的存儲字段必須對應(yīng)為int型。
數(shù)據(jù)長度應(yīng)該嚴格規(guī)定,能在一定程度上防止比較長的SQL注入語句無法正確執(zhí)行。
網(wǎng)站每個數(shù)據(jù)層的編碼統(tǒng)一,建議全部使用UTF-8編碼,上下層編碼不一致有可能導(dǎo)致一些過濾模型被繞過。
嚴格限制網(wǎng)站用戶的數(shù)據(jù)庫的操作權(quán)限,給此用戶提供僅僅能夠滿足其工作的權(quán)限,從而最大限度的減少注入攻擊對數(shù)據(jù)庫的危害。
避免網(wǎng)站顯示SQL錯誤信息,比如類型錯誤、字段不匹配等,防止攻擊者利用這些錯誤信息進行一些判斷。
在網(wǎng)站發(fā)布之前建議使用一些專業(yè)的SQL注入檢測工具進行檢測,及時修補這些SQL注入漏洞。
3.XSS跨站腳本漏洞
經(jīng)常使用的解決方案有:
與SQL注入漏洞的方案一樣,假定所有輸入都是可疑的,必須對所有輸入中的script、iframe等字樣進行嚴格的檢查。這里的輸入不僅僅是用戶可以直接交互的輸入接口,也包括HTTP請求中的Cookie中的變量,HTTP請求頭部中的變量等。
不要僅僅驗證數(shù)據(jù)的類型,還要驗證其格式、長度、范圍和內(nèi)容。
不要僅僅在客戶端做數(shù)據(jù)的驗證與過濾,關(guān)鍵的過濾步驟在服務(wù)端進行。
對輸出的數(shù)據(jù)也要檢查,數(shù)據(jù)庫里的值有可能會在一個大網(wǎng)站的多處都有輸出,即使在輸入做了編碼等操作,在各處的輸出點時也要進行安全檢查。
在網(wǎng)站發(fā)布之前建議測試所有已知的威脅。
4.信息泄露漏洞
CGI漏洞
針對不同類型的CGI漏洞有著不同的修復(fù)方法,最好的解決方案是在某CGI漏洞被披露之后,及時打上官方提供的補丁。站長在平時維護服務(wù)器時也要定期檢查并更新相關(guān)CGI組件。
內(nèi)容泄露漏洞
解決內(nèi)容泄露漏洞經(jīng)常使用的解決方案有:
禁用WEB服務(wù)器和服務(wù)器端語言的調(diào)試和報錯信息。
禁用WEB服務(wù)器的目錄瀏覽模式。
網(wǎng)站管理員和域名管理員郵箱請勿在SNS社交網(wǎng)絡(luò)場合使用。
網(wǎng)站內(nèi)容常檢查,發(fā)現(xiàn)敏感信息及時清理。
文件泄露漏洞
解決文件泄露漏洞的關(guān)鍵是對下載功能的參數(shù)檢驗和用最小權(quán)限原則對系統(tǒng)服務(wù)做出合理的配置。經(jīng)常使用的解決方案有:
具備下載功能的程序,在接受傳入?yún)?shù)時,過濾“..”,“/”,“C:”等能繞過目錄限制的特殊字符。
謹慎使用ftp,Windows文件共享等服務(wù),如無必要,請不要啟用匿名帳號。
若使用版本控制程序,發(fā)布代碼時請務(wù)必排除.svn和 .git等敏感目錄。
網(wǎng)站備份和數(shù)據(jù)庫備份文件請勿置于外部可訪問的目錄中。
WEB服務(wù)器的動態(tài)程序擴展名的規(guī)則請注意大小寫和特殊擴展(如.pHp, .jsP, .php.gif, .php3, .asa,.inc 等等)
及時修補SQL注入漏洞,因為SQL注入漏洞也可能會導(dǎo)致文件泄露。
避免*.bak, *.swp, *.swo等備份文件或臨時交換文件發(fā)布到服務(wù)器上。
5.HTTP方法
禁用不必要且存在安全風險的HTTP方法,例如:TRACE/PUT/DELETE等?;蚴褂眉铀贅繁Wo您的網(wǎng)站。
百度站長平臺的漏洞檢測工具推薦了解決方案供應(yīng)商,加速樂和Scanv。
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!