一般网站有哪些常见漏洞?
Web應(yīng)用是指采用B/S架構(gòu)、通過HTTP/HTTPS協(xié)議提供服務(wù)的統(tǒng)稱。隨著互聯(lián)網(wǎng)的廣泛使用,Web應(yīng)用已經(jīng)融入到日常生活中的各個方面:網(wǎng)上購物、網(wǎng)絡(luò)銀行應(yīng)用、證券股票交易、政府行政審批等等。在這些Web訪問中,大多數(shù)應(yīng)用不是靜態(tài)的網(wǎng)頁瀏覽,而是涉及到服務(wù)器側(cè)的動態(tài)處理。此時,如果Java、PHP、ASP等程序語言的編程人員的安全意識不足,對程序參數(shù)輸入等檢查不嚴(yán)格等,會導(dǎo)致Web應(yīng)用安全問題層出不窮。
本文根據(jù)當(dāng)前Web應(yīng)用的安全情況,列舉了Web應(yīng)用程序常見的攻擊原理及危害,并給出如何避免遭受Web攻擊的建議。 ?
?阿里云代金券1000元免費領(lǐng)取地址:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=2a7uv47d
新老阿里云賬戶均可領(lǐng)取!可用于購買阿里云服務(wù)器ECS、云數(shù)據(jù)庫RDS、虛擬主機、安騎士、DDoS高防IP等100多云計算產(chǎn)品。 代金券自領(lǐng)取之日起,有效期是30天,請及時使用,過30天后還可以重新領(lǐng)取。
?
Web應(yīng)用漏洞原理
?
?? Web應(yīng)用攻擊是攻擊者通過瀏覽器或攻擊工具,在URL或者其它輸入?yún)^(qū)域(如表單等),向Web服務(wù)器發(fā)送特殊請求,從中發(fā)現(xiàn)Web應(yīng)用程序存在的漏洞,從而進一步操縱和控制網(wǎng)站,查看、修改未授權(quán)的信息。
?
1.1 Web應(yīng)用的漏洞分類
1、信息泄露漏洞
? 信息泄露漏洞是由于Web服務(wù)器或應(yīng)用程序沒有正確處理一些特殊請求,泄露Web服務(wù)器的一些敏感信息,如用戶名、密碼、源代碼、服務(wù)器信息、配置信息等。
造成信息泄露主要有以下三種原因:
--Web服務(wù)器配置存在問題,導(dǎo)致一些系統(tǒng)文件或者配置文件暴露在互聯(lián)網(wǎng)中;
--Web服務(wù)器本身存在漏洞,在瀏覽器中輸入一些特殊的字符,可以訪問未授權(quán)的文件或者動態(tài)腳本文件源碼;
--Web網(wǎng)站的程序編寫存在問題,對用戶提交請求沒有進行適當(dāng)?shù)倪^濾,直接使用用戶提交上來的數(shù)據(jù)。
?
2、目錄遍歷漏洞
? 目錄遍歷漏洞是攻擊者向Web服務(wù)器發(fā)送請求,通過在URL中或在有特殊意義的目錄中附加“../”、或者附加“../”的一些變形(如“..”或“..//”甚至其編碼),導(dǎo)致攻擊者能夠訪問未授權(quán)的目錄,以及在Web服務(wù)器的根目錄以外執(zhí)行命令。
?
3、命令執(zhí)行漏洞
? 命令執(zhí)行漏洞是通過URL發(fā)起請求,在Web服務(wù)器端執(zhí)行未授權(quán)的命令,獲取系統(tǒng)信息,篡改系統(tǒng)配置,控制整個系統(tǒng),使系統(tǒng)癱瘓等。
命令執(zhí)行漏洞主要有兩種情況:
? 通過目錄遍歷漏洞,訪問系統(tǒng)文件夾,執(zhí)行指定的系統(tǒng)命令;
? 攻擊者提交特殊的字符或者命令,Web程序沒有進行檢測或者繞過Web應(yīng)用程序過濾,把用戶提交的請求作為指令進行解析,導(dǎo)致執(zhí)行任意命令。
?
4、文件包含漏洞
? 文件包含漏洞是由攻擊者向Web服務(wù)器發(fā)送請求時,在URL添加非法參數(shù),Web服務(wù)器端程序變量過濾不嚴(yán),把非法的文件名作為參數(shù)處理。這些非法的文件名可以是服務(wù)器本地的某個文件,也可以是遠(yuǎn)端的某個惡意文件。由于這種漏洞是由PHP變量過濾不嚴(yán)導(dǎo)致的,所以只有基于PHP開發(fā)的Web應(yīng)用程序才有可能存在文件包含漏洞。
?
5、SQL注入漏洞
? SQL注入漏洞是由于Web應(yīng)用程序沒有對用戶輸入數(shù)據(jù)的合法性進行判斷,攻擊者通過Web頁面的輸入?yún)^(qū)域(如URL、表單等) ,用精心構(gòu)造的SQL語句插入特殊字符和指令,通過和數(shù)據(jù)庫交互獲得私密信息或者篡改數(shù)據(jù)庫信息。SQL注入攻擊在Web攻擊中非常流行,攻擊者可以利用SQL注入漏洞獲得管理員權(quán)限,在網(wǎng)頁上加掛木馬和各種惡意程序,盜取企業(yè)和用戶敏感信息。
?
6、跨站腳本漏洞
? 跨站腳本漏洞是因為Web應(yīng)用程序時沒有對用戶提交的語句和變量進行過濾或限制,攻擊者通過Web頁面的輸入?yún)^(qū)域向數(shù)據(jù)庫或HTML頁面中提交惡意代碼,當(dāng)用戶打開有惡意代碼的鏈接或頁面時,惡意代碼通過瀏覽器自動執(zhí)行,從而達(dá)到攻擊的目的。跨站腳本漏洞危害很大,尤其是目前被廣泛使用的網(wǎng)絡(luò)銀行,通過跨站腳本漏洞攻擊者可以冒充受害者訪問用戶重要賬戶,盜竊企業(yè)重要信息。
? 根據(jù)前期各個漏洞研究機構(gòu)的調(diào)查顯示,SQL注入漏洞和跨站腳本漏洞的普遍程度排名前兩位,造成的危害也更加巨大。
?
1.2 SQL注入攻擊原理
? SQL注入攻擊是通過構(gòu)造巧妙的SQL語句,同網(wǎng)頁提交的內(nèi)容結(jié)合起來進行注入攻擊。比較常用的手段有使用注釋符號、恒等式(如1=1)、使用union語句進行聯(lián)合查詢、使用insert或update語句插入或修改數(shù)據(jù)等,此外還可以利用一些內(nèi)置函數(shù)輔助攻擊。
通過SQL注入漏洞攻擊網(wǎng)站的步驟一般如下:
第一步:探測網(wǎng)站是否存在SQL注入漏洞。
第二步:探測后臺數(shù)據(jù)庫的類型。
第三步:根據(jù)后臺數(shù)據(jù)庫的類型,探測系統(tǒng)表的信息。
第四步:探測存在的表信息。
第五步:探測表中存在的列信息。
第六步:探測表中的數(shù)據(jù)信息。
?
1.3 跨站腳本攻擊原理
? 跨站腳本攻擊的目的是盜走客戶端敏感信息,冒充受害者訪問用戶的重要賬戶。跨站腳本攻擊主要有以下三種形式:?
1、本地跨站腳本攻擊
? B給A發(fā)送一個惡意構(gòu)造的Web URL,A點擊查看了這個URL,并將該頁面保存到本地硬盤(或B構(gòu)造的網(wǎng)頁中存在這樣的功能)。A在本地運行該網(wǎng)頁,網(wǎng)頁中嵌入的惡意腳本可以A電腦上執(zhí)行A持有的權(quán)限下的所有命令。
?
2、反射跨站腳本攻擊
? A經(jīng)常瀏覽某個網(wǎng)站,此網(wǎng)站為B所擁有。A使用用戶名/密碼登錄B網(wǎng)站,B網(wǎng)站存儲下A的敏感信息(如銀行帳戶信息等)。C發(fā)現(xiàn)B的站點包含反射跨站腳本漏洞,編寫一個利用漏洞的URL,域名為B網(wǎng)站,在URL后面嵌入了惡意腳本(如獲取A的cookie文件),并通過郵件或社會工程學(xué)等方式欺騙A訪問存在惡意的URL。當(dāng)A使用C提供的URL訪問B網(wǎng)站時,由于B網(wǎng)站存在反射跨站腳本漏洞,嵌入到URL中的惡意腳本通過Web服務(wù)器返回給A,并在A瀏覽器中執(zhí)行,A的敏感信息在完全不知情的情況下將發(fā)送給了C。
?
3、持久跨站腳本攻擊
? B擁有一個Web站點,該站點允許用戶發(fā)布和瀏覽已發(fā)布的信息。C注意到B的站點具有持久跨站腳本漏洞,C發(fā)布一個熱點信息,吸引用戶閱讀。A一旦瀏覽該信息,其會話cookies或者其它信息將被C盜走。持久性跨站腳本攻擊一般出現(xiàn)在論壇、留言簿等網(wǎng)頁,攻擊者通過留言,將攻擊數(shù)據(jù)寫入服務(wù)器數(shù)據(jù)庫中,瀏覽該留言的用戶的信息都會被泄漏。
?
Web應(yīng)用漏洞的防御實現(xiàn)
對于以上常見的Web應(yīng)用漏洞漏洞,可以從如下幾個方面入手進行防御:
? 1)對?Web應(yīng)用開發(fā)者而言
? 大部分Web應(yīng)用常見漏洞,都是在Web應(yīng)用開發(fā)中,開發(fā)者沒有對用戶輸入的參數(shù)進行檢測或者檢測不嚴(yán)格造成的。所以,Web應(yīng)用開發(fā)者應(yīng)該樹立很強的安全意識,開發(fā)中編寫安全代碼;對用戶提交的URL、查詢關(guān)鍵字、HTTP頭、POST數(shù)據(jù)等進行嚴(yán)格的檢測和限制,只接受一定長度范圍內(nèi)、采用適當(dāng)格式及編碼的字符,阻塞、過濾或者忽略其它的任何字符。通過編寫安全的Web應(yīng)用代碼,可以消除絕大部分的Web應(yīng)用安全問題。
?
? 2) 對Web網(wǎng)站管理員而言
? 作為負(fù)責(zé)網(wǎng)站日常維護管理工作Web管理員,應(yīng)該及時跟蹤并安裝最新的、支撐Web網(wǎng)站運行的各種軟件的安全補丁,確保攻擊者無法通過軟件漏洞對網(wǎng)站進行攻擊。
除了軟件本身的漏洞外,Web服務(wù)器、數(shù)據(jù)庫等不正確的配置也可能導(dǎo)致Web應(yīng)用安全問題。Web網(wǎng)站管理員應(yīng)該對網(wǎng)站各種軟件配置進行仔細(xì)檢測,降低安全問題的出現(xiàn)可能。
此外,Web管理員還應(yīng)該定期審計Web服務(wù)器日志,檢測是否存在異常訪問,及早發(fā)現(xiàn)潛在的安全問題。
?
? 3)使用網(wǎng)絡(luò)防攻擊設(shè)備
? 前兩種為事前預(yù)防方式,是比較理想化的情況。然而在現(xiàn)實中,Web應(yīng)用系統(tǒng)的漏洞還是不可避免的存在:部分Web網(wǎng)站已經(jīng)存在大量的安全漏洞,而Web開發(fā)者和網(wǎng)站管理員并沒有意識到或發(fā)現(xiàn)這些安全漏洞。由于Web應(yīng)用是采用HTTP協(xié)議,普通的防火墻設(shè)備無法對Web類攻擊進行防御,因此可以使用IPS入侵防御設(shè)備來實現(xiàn)安全防護。
?
H3C IPS Web攻擊防御
? H3C IPS入侵防御設(shè)備有一套完整的Web攻擊防御框架,能夠及時發(fā)現(xiàn)各種已經(jīng)暴露的和潛在的Web攻擊。下圖為對于Web攻擊的總體防御框架。
?圖1:Web攻擊防御框架
? H3C IPS采用基于特征識別的方式識別并阻斷各種攻擊。IPS設(shè)備有一個完整的特征庫,并可定期以手工與自動的方式對特征庫進行升級。當(dāng)網(wǎng)絡(luò)流量進入IPS后,IPS首先對報文進行預(yù)處理,檢測報文是否正確,即滿足協(xié)議定義要求,沒有錯誤字段;如果報文正確,則進入深度檢測引擎。該引擎是IPS檢測的核心模塊,對通過IPS設(shè)備的Web流量進行深層次的分析,并與IPS攻擊庫中的特征進行匹配,檢測Web流量是否存在異常;如果發(fā)現(xiàn)流量匹配了攻擊特征,IPS則阻斷網(wǎng)絡(luò)流量并上報日志;否則,網(wǎng)絡(luò)流量順利通過。
?
? 此Web攻擊防御框架有如下幾個特點:
? 1) 構(gòu)造完整的Web攻擊檢測模型,準(zhǔn)確識別各種Web攻擊
? 針對Web攻擊的特點,考慮到各種Web攻擊的原理和形態(tài),在不同漏洞模型之上開發(fā)出通用的、層次化的Web攻擊檢測模型,并融合到特征庫中。這些模型抽象出Web攻擊的一般形態(tài),對主流的攻擊能夠準(zhǔn)確識別,使得模型通用化。
?
? 2) 檢測方式靈活,可以準(zhǔn)確識別變形的Web攻擊
? 在實際攻擊中,攻擊者為了逃避防攻擊設(shè)備的檢測,經(jīng)常對Web攻擊進行變形,如采用URL編碼技術(shù)、修改參數(shù)等。H3C根據(jù)Web應(yīng)用漏洞發(fā)生的原理、攻擊方式和攻擊目標(biāo),對攻擊特征進行了擴展。即使攻擊者修改攻擊參數(shù)、格式、語句等內(nèi)容,相同漏洞原理下各種變形的攻擊同樣能夠被有效阻斷。這使得IPS的防御范圍擴大,防御的靈活性也顯著增強,極大的減少了漏報情況的出現(xiàn)。
?
? 3) 確保對最新漏洞及技術(shù)的跟蹤,有效阻止最新的攻擊
? 隨著Web攻擊出現(xiàn)的頻率日益增高,其危害有逐步擴展的趨勢。這對IPS設(shè)備在防御的深度和廣度上提出了更高的要求,不僅要能夠防御已有的Web攻擊,更要有效的阻止最新出現(xiàn)的、未公布的攻擊。目前,H3C已經(jīng)建立起一套完整的攻防試驗環(huán)境,可以及時發(fā)現(xiàn)潛在Web安全漏洞。同時還在繼續(xù)跟蹤最新的Web攻擊技術(shù)和工具,及時更新Web攻擊的特征庫,第一時間發(fā)布最新的Web漏洞應(yīng)對措施,確保用戶的網(wǎng)絡(luò)不受到攻擊。
?
? 4) 保證正常業(yè)務(wù)的高效運行
? 檢測引擎是IPS整個設(shè)備運行的關(guān)鍵,該引擎使用了高效、準(zhǔn)確的檢測算法,對通過設(shè)備的流量進行深層次的分析,并通過和攻擊特征進行匹配,檢測流量是否存在異常。如果流量沒有匹配到攻擊特征,則允許流量通過,不會妨礙正常的網(wǎng)絡(luò)業(yè)務(wù),在準(zhǔn)確防御的同時保證了正常業(yè)務(wù)的高效運行。
?
總結(jié)
以上是生活随笔為你收集整理的一般网站有哪些常见漏洞?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决win10无法搜索本地应用
- 下一篇: 旧金山大学计算机科学,Arts and