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