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