網(wǎng)站安全要求在設(shè)計(jì)和使用的各個(gè)方面保持警惕。這篇介紹性文章不會使您成為網(wǎng)站安全專家,但是它將幫助您了解威脅的來源以及如何針對最常見的攻擊來增強(qiáng)網(wǎng)站應(yīng)用程序。
先決條件: | 基本的計(jì)算機(jī)技能。 |
---|---|
目標(biāo): | 了解對網(wǎng)站應(yīng)用程序安全性最常見的威脅,以及如何減少網(wǎng)站被黑客入侵的風(fēng)險(xiǎn)。提供有效的網(wǎng)站安全性解決方案。 |
什么是網(wǎng)站安全?
互聯(lián)網(wǎng)是危險(xiǎn)的地方!通常,我們會聽到由于拒絕服務(wù)攻擊而無法使用網(wǎng)站,或者在其首頁上顯示經(jīng)過修改(且通常是有害的)信息的網(wǎng)站。在其他備受矚目的案例中,數(shù)百萬的密碼,電子郵件地址和信用卡詳細(xì)信息會向公眾發(fā)布,使網(wǎng)站用戶面臨個(gè)人尷尬和風(fēng)險(xiǎn)。財(cái)務(wù)損失。
網(wǎng)站安全的目標(biāo)是防止這些類型的攻擊。更正式地講,網(wǎng)站安全是保護(hù)網(wǎng)站免遭未經(jīng)授權(quán)的訪問,使用,修改,破壞或破壞的行為/做法。
網(wǎng)站的有效安全性需要在整個(gè)網(wǎng)站上進(jìn)行設(shè)計(jì)工作:在網(wǎng)站應(yīng)用程序中,網(wǎng)站服務(wù)器配置中,在創(chuàng)建和更新密碼的策略中以及在代碼端-client。盡管所有這些聽起來都很令人擔(dān)憂,但好消息是,如果您使用的是服務(wù)器端網(wǎng)站框架,則默認(rèn)情況下它將包含強(qiáng)大的,經(jīng)過深思熟慮的防御機(jī)制,以應(yīng)對多種最常見的攻擊。通過配置網(wǎng)站服務(wù)器,例如啟用HTTPS,可以緩解其他攻擊。最后,還有公開可用的漏洞分析工具,可以幫助您確定是否犯了明顯的錯(cuò)誤。
本文的其余部分詳細(xì)介紹了對網(wǎng)站最常見的威脅,并提供了一些簡單的步驟來保護(hù)您的網(wǎng)站。
注意:這是一篇介紹性文章,旨在幫助您考慮網(wǎng)站的安全性。這并不詳盡。
網(wǎng)站安全的威脅
本節(jié)僅列出了一些最常見的網(wǎng)站威脅以及如何緩解這些威脅。在閱讀時(shí),請注意,當(dāng)網(wǎng)站應(yīng)用程序信任或?qū)g覽器的數(shù)據(jù)不夠可疑時(shí),威脅將如何出現(xiàn)!
跨站腳本(XSS)
XSS是用于描述攻擊類別的術(shù)語,該類別允許攻擊者通過網(wǎng)站注入客戶端執(zhí)行的腳本,以針對其他用戶的網(wǎng)站瀏覽器。由于注入的代碼來自網(wǎng)站,因此網(wǎng)站瀏覽器認(rèn)為它是安全的,因此可以執(zhí)行將身份驗(yàn)證cookie從用戶傳遞給攻擊者的操作。一旦攻擊者獲得了該cookie,他就可以像被攻擊的用戶一樣登錄到該站點(diǎn),并可以執(zhí)行該用戶可以做的任何事情。根據(jù)發(fā)生攻擊的站點(diǎn),這可能包括訪問信用卡詳細(xì)信息,聯(lián)系信息,更改密碼等。
注意:與其他類型相比,XSS漏洞歷來是最常見的漏洞。
請求站點(diǎn)將注入的腳本返回到網(wǎng)站瀏覽器的主要方法有兩種,這些方法稱為反射性?XMS漏洞和持久性?XSS漏洞。
當(dāng)傳遞給服務(wù)器的用戶內(nèi)容立即返回,保持不變并顯示在瀏覽器中時(shí),就會發(fā)生一個(gè)反映的XSS漏洞-加載新頁面時(shí),將執(zhí)行原始內(nèi)容中的所有腳本!
以某個(gè)站點(diǎn)中的搜索功能為例,在該站點(diǎn)中,搜索詞被編碼為URL中的參數(shù),并且這些詞與結(jié)果一起永久顯示。攻擊者可以構(gòu)建包含惡意腳本作為參數(shù)的搜索鏈接(例如:http://mysite.com?q=beer),然后通過電子郵件將其發(fā)送給其他用戶。如果目標(biāo)用戶單擊此“有趣的鏈接”,則在顯示搜索結(jié)果時(shí)將執(zhí)行腳本。如前所述,這為攻擊者提供了使用受害者帳戶登錄網(wǎng)站所需的所有信息-可能以該用戶的身份購物或訪問聯(lián)系人列表。永久性?XSS漏洞將是一個(gè)惡意腳本,該惡意腳本被存儲在網(wǎng)站上,然后在不做任何修改的情況下被其他用戶稍候顯示并在其不知情的情況下執(zhí)行。
例如,接受包含純HTML代碼的注釋的聊天屏幕可以存儲攻擊者的惡意腳本。當(dāng)顯示注釋時(shí),腳本將被執(zhí)行,然后可以將訪問用戶帳戶所需的信息發(fā)送給攻擊者。這種攻擊方法極為普遍和有效,因?yàn)楣粽邿o需與受害者建立直接關(guān)系。
使用POST或發(fā)送數(shù)據(jù)時(shí)GET?是XSS漏洞的最常見來源,來自網(wǎng)站瀏覽器的任何數(shù)據(jù)都可能受到攻擊(包括瀏覽器顯示的cookie數(shù)據(jù)或已加載和顯示的用戶文件)。
防范XSS漏洞的最佳方法是刪除或禁用可能包含執(zhí)行代碼指令的任何標(biāo)記。為了這包括HTML標(biāo)記,如