|
最近,很多網(wǎng)站都在建設(shè)各種網(wǎng)絡(luò)應(yīng)用軟件,以期為用戶提供更好的服務(wù),這其中尤以各種創(chuàng)建、編輯和管理內(nèi)容的應(yīng)用軟件為多。這些系統(tǒng)提供了很多基于用戶輸入信息的強大互動特性,值得注意的是,考慮安全問題,避免第三方的惡意攻擊并確保最佳的用戶體驗也變得更為重要。
黑客攻擊的類型及攔截方式:
黑客可以采取多種不同的攻擊方式部分或全部控制一個網(wǎng)站。一般來說,最常見和最危險的是SQL植入(injection)和跨站點腳本(XSS,cross-site scripting ) 。
SQL植入是一種在網(wǎng)絡(luò)應(yīng)用程序中植入惡意代碼的技術(shù),它利用數(shù)據(jù)庫層面的安全漏洞以達到非法控制數(shù)據(jù)庫目的。這種技術(shù)非常強大,它可以操縱網(wǎng)址(查詢字符串)或其他任何形式(搜索,登錄,電子郵件注冊)以植入惡意代碼。您可以在網(wǎng)絡(luò)應(yīng)用安全聯(lián)盟(英文)中找到一些關(guān)于SQL植入的例子。
為避免此類黑客攻擊的發(fā)生的確有法可循。舉例來說,在前端界面和后端數(shù)據(jù)庫之間增加一個“中間層”就是一種很好的做法。在PHP中,PDO(PHP Data Objects)擴展通常與參數(shù)(有時被稱作placeholder或綁定變量)共同發(fā)生作用,而不是直接將用戶輸入做為命令語句。另一種極為簡單的技術(shù) 是字符轉(zhuǎn)義,通過這種方式,所有可以直接影響數(shù)據(jù)庫結(jié)構(gòu)的危險字符都可以被轉(zhuǎn)義。例如,參數(shù)中每出現(xiàn)一個單引號[ ' ]必須代之以兩個單引號[ ' ' ]來形成一個有效的SQL字符串。這只是兩種您可以采取的、最常見的用以改進網(wǎng)站安全并避免SQL植入的有效方式。您還可以在網(wǎng)上找到許多其他符合您需求的資源(編程語言,具體的Web應(yīng)用程序等)。
下面我們要介紹的是跨站點腳本( XSS )技術(shù) ?缯军c腳本是一種通過利用網(wǎng)絡(luò)應(yīng)用程序?qū)用娴陌踩┒矗诰W(wǎng)頁中植入惡意代碼的技術(shù)。當(dāng)網(wǎng)絡(luò)應(yīng)用程序處理通過用戶輸入獲得的數(shù)據(jù),并且在返回給最終用戶前沒有任何進一步的檢查或驗證時,這種攻擊就可能發(fā)生。您可以在網(wǎng)絡(luò)應(yīng)用安全聯(lián)盟(英文)中找到一些跨站點腳本的例子。
有許多辦法可以確保網(wǎng)絡(luò)應(yīng)用程序不被這種技術(shù)侵犯。一些簡便易行的方法包括:
剔除可以被插入到表單中的數(shù)據(jù)輸入(例如,PHP中的strip tags功能);
利用數(shù)據(jù)編碼,避免潛在惡意字符的直接植入(例如,PHP中的htmlspecialchars功能);
在數(shù)據(jù)輸入和數(shù)據(jù)庫端之間創(chuàng)建一個“層”,以避免應(yīng)用程序代碼被直接植入惡意字符。
一些有關(guān)CMSs安全的資源
SQL植入和跨站點腳本只不過是黑客用來攻擊和利用無辜網(wǎng)站的多種技術(shù)中的其中兩種。作為一般的安全準(zhǔn)則,在網(wǎng)絡(luò)安全問題上特別是在使用第三方軟件時,一直保持更新以確保您安裝了最新版本的軟件是非常重要的。許多圍繞大型建站社區(qū)建設(shè)的網(wǎng)絡(luò)應(yīng)用程序都提供持續(xù)的支持和軟件升級。
下面舉個例子,開放源碼內(nèi)容管理系統(tǒng)的最大的四個社區(qū)——Joomla, WordPress, PHP-Nuke 和 Drupa都在他們的網(wǎng)站上提供關(guān)于網(wǎng)絡(luò)安全方面的知識并且設(shè)有大型社區(qū)驅(qū)動論壇,用戶可以提出問題或?qū)で笾С。例如,在Hardening WordPress,WordPress提供了如何加強CMS安全的綜合性幫助文件。 Joomla提供了許多有關(guān)網(wǎng)絡(luò)安全的資源,特別是其中的網(wǎng)絡(luò)安全檢查清單,這些操作都是網(wǎng)絡(luò)管理員應(yīng)該采用的。
一些識別黑客攻擊您網(wǎng)站的方法:
如上所述,黑客可能采用很多不同方式攻擊您的網(wǎng)站,也采用多種方法惡意利用無辜的網(wǎng)站。當(dāng)黑客能夠完全控制一個網(wǎng)站時,他們可以把主頁徹底更換掉,清除所有的內(nèi)容(刪除您的數(shù)據(jù)庫表),插入惡意軟件或Cookie盜取程序。他們還可以利用您的網(wǎng)站制造網(wǎng)絡(luò)垃圾,比如在您的網(wǎng)站隱藏指向垃圾網(wǎng)頁的鏈接或建立重定向到惡意軟件網(wǎng)站的頁面。當(dāng)變化很明顯(比如主頁被更換)時 ,您可以輕松地辨別出黑客攻擊,但對于其他類型的攻擊,特別是那些帶有制造網(wǎng)絡(luò)垃圾意圖的攻擊,就比較不易被人察覺。谷歌提供了一些產(chǎn)品和方法,幫助網(wǎng)站管理員發(fā)現(xiàn)自己的網(wǎng)站是否未經(jīng)許可而被第三方攻擊或更改。例如,通過使用谷歌搜索,您可以檢查黑客是否將特定的惡意關(guān)鍵詞添加到您的網(wǎng)站,并能找出您網(wǎng)站上被攻擊的具體網(wǎng)頁。打開google.cn/,用[site:domain name]來搜索您的網(wǎng)站,查看黑客是否把一些常用的網(wǎng)絡(luò)垃圾關(guān)鍵詞添加到了您的網(wǎng)站(如偉哥, 色情, MP3, 賭博等) : |
|
【收藏】【打印】【進入論壇】 |
|
|
|
|
|
|
|