卓越邁創(chuàng)在網(wǎng)站建設(shè)過程中總結(jié)的常見的安全漏洞:
最近有一件事情把筆者震驚到了。有個朋友獨自一人經(jīng)營著一個行業(yè)網(wǎng)站平臺,網(wǎng)站的百度權(quán)重已經(jīng)達到了5。他每天的工作只是接待客戶電話詢盤,每天的咨詢量非常大,大到他幾乎連喝水的時間都沒有。但就是這么有價值的一個網(wǎng)站,之前有一段時間頻頻出現(xiàn)網(wǎng)站打不開的現(xiàn)象。后來查出來是被同行攻擊了。
原來事情是這樣的:朋友的網(wǎng)站平臺是好多年以前用ASP+access數(shù)據(jù)庫開發(fā)的,網(wǎng)站建設(shè)時大部分新聞頁面都是動態(tài)頁面,每個訪客打開他的網(wǎng)站頁面,都是直接向ACCESS數(shù)據(jù)庫發(fā)送訪問請求,但是每個服務(wù)器都是有最高并發(fā)限制的,超過這個最高并發(fā)數(shù)量,網(wǎng)站就會出現(xiàn)卡死的情況,也就是說如果最高限制并發(fā)是5000個,如果并發(fā)請求達到5001條,網(wǎng)站就會卡死打不開。他的競爭對手就是找出了他網(wǎng)站的這個缺陷,用軟件刷訪問量的方式把他網(wǎng)站搞癱瘓了。逼得他不得不換萬網(wǎng)的云服務(wù)器,提高服務(wù)器配置。
于是最近我一直在想一個問題,網(wǎng)站的安全隱患真的要重視,否則你前面運營網(wǎng)站積累的一些基礎(chǔ)和成果可能會被毀于一旦。那么網(wǎng)站到底可能會存在哪些安全漏洞呢?我們今天來分享一下卓越邁創(chuàng)在網(wǎng)站建設(shè)過程中總結(jié)的常見的安全漏洞主要有這些:
1、文件上傳漏洞
問題描述:沒有對文件上傳限制,可能會被上傳可執(zhí)行文件,或腳本文件。進一步導(dǎo)致服務(wù)器淪陷。
修改建議:嚴格驗證上傳文件,防止上傳asp、aspx、asa、php、jsp等危險腳本。同事最好加入文件頭驗證,防止用戶上傳非法文件。
2、明文傳輸
問題描述:對系統(tǒng)用戶口令保護不足,攻擊者可以利用攻擊工具,從網(wǎng)絡(luò)上竊取合法的用戶口令數(shù)據(jù)。
修改建議:傳輸?shù)拿艽a必須加密。
注意:所有密碼要加密。要復(fù)雜加密。不要用base64或md5。
3、sql注入
問題描述:攻擊者利用sql注入漏洞,可以獲取數(shù)據(jù)庫中的多種信息,如:管理后臺的密碼,從而脫取數(shù)據(jù)庫中的內(nèi)容(脫庫)。
修改建議:對輸入?yún)?shù)進行過濾、校驗。采用黑白名單方式。
注意:過濾、校驗要覆蓋系統(tǒng)內(nèi)所有的參數(shù)。
4、默認口令、弱口令
問題描述:因為默認口令、弱口令很容易讓人猜到。
修改建議:加強口令強度不適用弱口令
注意:口令不要出現(xiàn)常見的單詞。如:root123456、admin1234、qwer1234、pssw0rd等。
5、敏感信息泄露
問題描述:系統(tǒng)暴露內(nèi)部信息,如:網(wǎng)站的絕對路徑、網(wǎng)頁源代碼、SQL語句、中間件版本、程序異常等信息。
修改建議:對用戶輸入的異常字符過濾。屏蔽一些錯誤回顯,如自定義404、403、500等。
6、命令執(zhí)行漏洞
問題描述:腳本程序調(diào)用如php的system、exec、shell_exec等。
修改建議:打補丁,對系統(tǒng)內(nèi)需要執(zhí)行的命令要嚴格限制。
7、跨站腳本攻擊
問題描述:對輸入信息沒有進行校驗,攻擊者可以通過巧妙的方法注入惡意指令代碼到網(wǎng)頁。這種代碼通常是JavaScript,但實際上,也可以包括Java、VBScript、ActiveX、Flash或者普通的HTML。攻擊成功之后,攻擊者可以拿到更高的權(quán)限。
修改建議:對用戶輸入進行過濾、校驗。輸出進行HTML實體編碼。
注意:過濾、校驗、HTML實體編碼。要覆蓋所有參數(shù)。
8、SSRF漏洞
問題描述:服務(wù)端請求偽造。
修改建議:打補丁,或者卸載無用的包
9、CSRF(跨站請求偽造)
問題描述:使用已經(jīng)登陸用戶,在不知情的情況下執(zhí)行某種動作的攻擊。
修改建議:添加token驗證。時間戳或這圖片驗證碼。
當然以上這些并不是所有可能出現(xiàn)的漏洞,企業(yè)網(wǎng)站在運營過程中一定要經(jīng)常檢測維護,最好有專門的負責人對企業(yè)網(wǎng)站定期檢測維護,確保網(wǎng)站安全。
朋友換了服務(wù)器之后,為了避免再被同行攻擊,他想了一個笨辦法,但是很有用。網(wǎng)站的各項權(quán)重和關(guān)鍵詞的排名已經(jīng)非常好了,不能把那些文章的動態(tài)頁面改成靜態(tài)頁面啊。用什么辦法呢?他在那之后每次更新網(wǎng)站文章,都是按照文章模板手動的把文章做成一個靜態(tài)網(wǎng)頁,直接用FTP工具上傳到服務(wù)器里去,而不是通過網(wǎng)站后臺添加文章。一直積累了近一千個靜態(tài)頁面。這個辦法我戲稱之為愚公移山。這也是最好最有效的修補辦法了。
其實,如果在網(wǎng)站建設(shè)的初期就考慮到這些問題,用PHP+SQL數(shù)據(jù)庫開發(fā)網(wǎng)站,采用網(wǎng)站后臺生成靜態(tài)頁面的方式,那就可以完全消除數(shù)據(jù)庫的負擔了。