最近,很多網站都在建設各種網絡應用軟件,以期為用戶提供更好的服務,這其中尤以各種創建、編輯和管理內容的應用軟件為多。這些系統提供了很多基于用戶輸入信息的強大互動特性,值得注意的是,考慮安全問題,避免第三方的惡意攻擊并確保最佳的用戶體驗也變得更為重要。
黑客攻擊的類型及攔截方式:
黑客可以采取多種不同的攻擊方式部分或全部控制一個網站。一般來說,最常見和最危險的是跨站點腳本(XSS,cross-site scripting )和SQL植入(injection) 。
下面我們要介紹的是跨站點腳本( XSS )技術 ??缯军c腳本是一種通過利用網絡應用程序層面的安全漏洞,在網頁中植入惡意代碼的技術。當網絡應用程序處理通過用戶輸入獲得的數據,并且在返回給最終用戶前沒有任何進一步的檢查或驗證時,這種攻擊就可能發生。您可以在網絡應用安全聯盟(英文)中找到一些跨站點腳本的例子。
有許多辦法可以確保網絡應用程序不被這種技術侵犯。一些簡便易行的方法包括:
利用數據編碼,避免潛在惡意字符的直接植入(例如,PHP中的htmlspecialchars功能);
剔除可以被插入到表單中的數據輸入(例如,PHP中的strip tags功能);
在數據輸入和數據庫端之間創建一個“層”,以避免應用程序代碼被直接植入惡意字符。
SQL植入是一種在網絡應用程序中植入惡意代碼的技術,它利用數據庫層面的安全漏洞以達到非法控制數據庫目的。這種技術非常強大,它可以操縱網址(查詢字符串)或其他任何形式(搜索,登錄,電子郵件注冊)以植入惡意代碼。您可以在網絡應用安全聯盟(英文)中找到一些關于SQL植入的例子。
為避免此類黑客攻擊的發生的確有法可循。舉例來說,在前端界面和后端數據庫之間增加一個“中間層”就是一種很好的做法。在PHP中,PDO(PHP Data Objects)擴展通常與參數(有時被稱作placeholder或綁定變量)共同發生作用,而不是直接將用戶輸入做為命令語句。另一種極為簡單的技術 是字符轉義,通過這種方式,所有可以直接影響數據庫結構的危險字符都可以被轉義。例如,參數中每出現一個單引號[ ‘ ]必須代之以兩個單引號[ ’ ‘ ]來形成一個有效的SQL字符串。這只是兩種您可以采取的、最常見的用以改進網站安全并避免SQL植入的有效方式。您還可以在網上找到許多其他符合您需求的資源(編程語言,具體的Web應用程序等)。
一些識別黑客攻擊您網站的方法:
如上所述,黑客可能采用很多不同方式攻擊您的網站,也采用多種方法惡意利用無辜的網站。當黑客能夠完全控制一個網站時,他們可以把主頁徹底更換掉,清除所有的內容(刪除您的數據庫表),插入惡意軟件或Cookie盜取程序。他們還可以利用您的網站制造網絡垃圾,比如在您的網站隱藏指向垃圾網頁的鏈接或建立重定向到惡意軟件網站的頁面。當變化很明顯(比如主頁被更換)時 ,您可以輕松地辨別出黑客攻擊,但對于其他類型的攻擊,特別是那些帶有制造網絡垃圾意圖的攻擊,就比較不易被人察覺。谷歌提供了一些產品和方法,幫助網站管理員發現自己的網站是否未經許可而被第三方攻擊或更改。例如,通過使用谷歌搜索,您可以檢查黑客是否將特定的惡意關鍵詞添加到您的網站,并能找出您網站上被攻擊的具體網頁。打開google.cn/,用[site:domain name]來搜索您的網站,查看黑客是否把一些常用的網絡垃圾關鍵詞添加到了您的網站(如偉哥, 色情, MP3, 賭博等) :
一些有關CMSs安全的資源:
SQL植入和跨站點腳本只不過是黑客用來攻擊和利用無辜網站的多種技術中的其中兩種。作為一般的安全準則,在網絡安全問題上特別是在使用第三方軟件時,一直保持更新以確保您安裝了最新版本的軟件是非常重要的。許多圍繞大型建站社區建設的網絡應用程序都提供持續的支持和軟件升級。
下面舉個例子,開放源碼內容管理系統的最大的四個社區——Joomla, WordPress, PHP-Nuke 和 Drupa都在他們的網站上提供關于網絡安全方面的知識并且設有大型社區驅動論壇,用戶可以提出問題或尋求支持。例如,在Hardening WordPress,WordPress提供了如何加強CMS安全的綜合性幫助文件。 Joomla提供了許多有關網絡安全的資源,特別是其中的網絡安全檢查清單,這些操作都是網絡管理員應該采用的。
site: example.com 某色情詞匯 或 某賭博詞匯 或 “手機鈴聲”等熱門詞匯
當這些關鍵詞出現在您網站內容中時,您會收到一封提醒郵件。
您還可以使用谷歌網站管理員工具來檢查您網站中的任何黑客行為。網站管理員工具為您的網站提供熱門搜索查詢的統計信息。這些數據將幫助您監測那些將用戶帶到您網站的熱門搜索查詢是否是那些可疑的、無關的垃圾關鍵詞?!癎ooglebot看到的“的數據也十分有用,在這里您可以觀察谷歌是否探查到您網站中任何異常的關鍵詞,無論這些關鍵詞是不是把用戶帶到您網站的熱門關鍵詞。
?。踫ite:example.com 垃圾關鍵詞]
如果您還不熟悉 site: 搜索操作符,這是一個通過將搜索范圍限定到特定網站來使用谷歌搜索的途徑。例如,搜索site:googleblog.blogspot.com只會返回來自谷歌官方博客的搜索結果。當在這種查詢中添加一些垃圾關鍵詞時,谷歌將返回所有該網站中包含這些垃圾關鍵字的網頁,而這些網頁都很有可能已經遭受攻擊。要檢查這些可疑的網頁,只需打開谷歌網頁快照,您就能發現這些黑客行為。然后,您可以清除這些網頁被攻擊的部分,并檢查服務器配置文件中是否有異常情況(例如Apache網絡服務器:htaccess文件和httpd.conf文件)。
如果您的網站已不出現在谷歌的搜索結果中,這可能意味著谷歌已在您的網站上發現由黑客攻擊導致的垃圾網頁,并很可能因為這些網頁違反了我們網站管理員質量指南而已暫時將它們從我們的索引中移除。
為了不斷留意是否有可疑關鍵字在您的網站上出現,您也可以使用谷歌快訊來監測類似的搜索查詢:
如果您有網站管理員工具賬戶,當谷歌認為您的網站已經被黑客入侵時,按被攻擊類型的不同,您會收到相應的通知:
1如果一個惡意的第三方正在使用您的網站制造網絡垃圾(如添加隱藏鏈接或建立垃圾網頁),并且已經被谷歌crawler偵測到,您就會在網站管理員工具的“消息中心”中收到一份詳細通知(包含受攻擊的URL樣本,或隱藏鏈接的錨文本);
2如果您的網站被第三方利用放置了惡意軟件,您會在網站管理員工具賬戶的“概覽”頁面中看到惡意軟件的警告。
消除黑客攻擊行為,該怎么做?
您的網站已經被黑客入侵或被植入了惡意軟件?首先,請清理這些由黑客造成的網絡垃圾,然后執行下列操作之一:
1、如果您的網站被黑客攻擊達到制造垃圾網頁的目的,請訪問網站管理員工具中的”請求重新審核“鏈接,申請重新審核和收錄;
2、如果您的網站向用戶提供惡意軟件,請在網站管理員工具的“概覽”頁面提出重新評估惡意軟件的請求。