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