一般用戶可能沒有感覺,但站長朋友肯定知道,如果一個網站放置一段時間不管它,等某一天你再去看它時,發現它可能都被掛馬了。其實網站被掛馬是常見現象,特別是基于CMS開發的網站。
網站一旦被掛馬,就會給訪客和網站自身帶來一些麻煩,比如說:
網頁上會存在一些惡意腳本,可能會彈出很多垃圾廣告彈窗、跳轉到不相關甚至是非法的網站上、插入大量鏈接、網頁死循環等, 降低了訪問體驗; 原網站
內容被非法篡改,網站面目全非; 影響網站SEO效果,降低百度等排名,網站極容易被降權等; 非法修改網站源碼,甚至刪除了網站程序文件等,造成
數據損失。
上面講的這些危害后果,其實
那這些黑客是如何將惡意代碼植入我們網站程序中的呢?無非是這幾步:
1、黑客尋找網站漏洞并利用
這里的漏洞主要有這些:
文件上傳漏洞:比如上傳頁面沒有對上傳文件格式做驗證導致上傳了動態腳本(如直接上傳了php文件),再者是上傳頁面沒有做權限驗證導致非法用戶也能上傳文件等; 表單
數據未過濾漏洞:比如用戶在發表文章時,可以插入JS、CSS代碼,這樣就足以植入惡意腳本,頁面渲染時就會運行這些JS、CSS代碼; SQL注入漏洞:存在SQL注入點,黑客可以入侵數據庫進行操作,嚴重的還能刪庫; 管理后臺
弱口令漏洞:一些管理后臺帳號密碼過于簡單(比如admin),一猜就中,直接登錄進入后臺,想怎么操作就怎么操作...
2、惡意代碼植入
找到漏洞后就可以利用,然后在網頁程序中植入惡意代碼,這樣用戶訪問到頁面后就會加載到這些惡意代碼,攻擊者的目的也就達到了。
既然我們知道黑客掛馬的大致流程,那如何避免網站被掛馬呢?結合我十幾年的運維經驗整理了一些建議供大家參考:
1、網站建設時請
現在市面上的
但如果我們的程序是自主開發的,那攻擊者不知道我們的源碼邏輯,攻擊難度會很大。如果是基于CMS建的網站,一定要
2、用戶提交的
在WEB開發領域,我們一直強調
數據
類型強制轉換; 過濾掉這些內容:JS標簽及代碼、CSS標簽及代碼、HTML標簽中的各類事件、單引號、雙引號、SQL關鍵字;
3、
這個是很重要的,既使攻擊者拿到了上傳漏洞,但是我們只允許它上傳到特定目錄,其它目錄沒有寫權限,那就感染不了,如果沒有執行權限,那上傳的動態腳本也是無法執行的。
4、后臺使用
后臺地址改成無法猜到的地址,密碼一定要設得復雜點。
5、定期對站點進行
定期把站點備份好,然后做木馬查殺,現在殺毒軟件是可以查殺WEB木馬的。
以上就是我的觀點,對于這個問題大家是怎么看待的呢?歡迎在下方評論區交流~我是科技領域創作者,十年互聯網從業經驗,我了解更多科技知識!